Dmi*_*try 5 amazon-web-services amazon-cloudfront
这个问题是类似的,但唯一的答案是获取所有发行版的列表并在本地过滤它们,这不是我想要的。
此页面暗示可能可以按标签进行过滤(“您可以根据您添加的标签搜索和过滤您的资源”),但我只是不知道如何!
要添加到 Balu 的精彩答案中,如果您在设置时指定了默认区域,aws-cli而该区域不是, us-east-1那么它将无法工作(您将看到一个空数组ResourceTagMappingList)。
--region us-east-1请务必在命令末尾添加如下内容:
aws resourcegroupstaggingapi get-resources --tag-filters Key=tagName,Values=tagValue --resource-type-filters 'cloudfront' --tags-per-page 100 --region us-east-1
Run Code Online (Sandbox Code Playgroud)
我只能想到一种方法,因为aws cloudfront不直接支持按标签获取发行版。我们可以使用resourcegroupstaggingapicli 来获取所有 Cloudfront 的 ResourceARN 并使用jq和sed提取 DistributionIds
例如:标签 ApplicationID=APP1111
aws resourcegroupstaggingapi get-resources --tag-filters Key=ApplicationID,Values=APP1111 --resource-type-filters 'cloudfront' --tags-per-page 100 | jq -r ".ResourceTagMappingList[].ResourceARN" | sed 's:.*/::'
Run Code Online (Sandbox Code Playgroud)
我们可以进一步使用 xargs 并为每个 Id 执行 get-distribution 。
aws resourcegroupstaggingapi get-resources --tag-filters Key=ApplicationID,Values=APP1111 --resource-type-filters 'cloudfront' --tags-per-page 100 | jq -r ".ResourceTagMappingList[].ResourceARN" | sed 's:.*/::' | xargs -I {} aws cloudfront get-distribution --id {}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1804 次 |
| 最近记录: |