按标签的AWS Cloudfront发行ID

时间:2019-09-19 10:35:03

标签: amazon-web-services amazon-cloudfront aws-cli

是否可以通过awscli或aws sdk通过powershell通过标签获取AWS cloudfront dist id。我只能通过资源的ARN编号获得

aws cloudfront list-tags-for-resource --resource XXX
{
   "Tags": {
       "Items": [
           {
               "Value": "TEST_APP",
               "Key": "CLIENT_APP"
           }
       ]
   }
}

更新

通过

解决
cloudfrontdistids=$(aws cloudfront list-distributions | jq -r ".DistributionList.Items[].ARN")
for dist in $cloudfrontdistids
do
        if [ $(aws cloudfront list-tags-for-resource --resource $dist | jq -r ".Tags.Items[].Value") == $VALUE ]
        then
                CLOUDFRONT_DISTRIBUTION_ID=${dist:(-14)}
        fi
done

1 个答案:

答案 0 :(得分:0)

原发帖者提供的答案似乎几乎正确。 但是 CLOUDFRONT_DISTRIBUTION_ID 并不总是 14 个字符,因此为了避免拉取附加字符,请改用它:

CLOUDFRONT_DISTRIBUTION_ID=${dist##*/}

在 bash 中,它删除了一个前缀模式。在这里,它基本上通过贪婪地删除前缀 */

为您提供最后一个路径分隔符 / 之后的所有内容