当前位置:  开发笔记 > 前端 > 正文

AWS cli查询以获取具有特定源名称的Cloudfront"域名"

如何解决《AWScli查询以获取具有特定源名称的Cloudfront"域名"》经验,为你挑选了1个好方法。

这是来自awscli的我的JSON输出我想使用Origin DomainName example1.com获取xxxxxxxx.cloudfront.net,仅使用AWS cli查询.{我知道用jq,awk和cut,grep}过滤.

"DistributionList": {
    "Items": [
        {
            "WebACLId": "", 
            "Origins": {
                "Items": [
                    {
                        "OriginPath": "", 
                        "CustomOriginConfig": {
                            "OriginProtocolPolicy": "http-only", 
                            "HTTPPort": 80, 
                            "HTTPSPort": 443
                        }, 
                        "Id": "DNS for Media Delivery", 
                        "DomainName": "example1.com"
                    }
                ], 
                "Quantity": 1
            }, 
            "DomainName": "xxxxxxxx.cloudfront.net", 
         },
        {
            "WebACLId": "", 
            "Origins": {
                "Items": [
                    {
                        "OriginPath": "", 
                        "CustomOriginConfig": {
                            "OriginProtocolPolicy": "http-only", 
                            "HTTPPort": 80, 
                            "HTTPSPort": 443
                        }, 
                        "Id": "DNS for Media Delivery", 
                        "DomainName": "example2.com"
                    }
                ], 
                "Quantity": 1
            }, 
            "DomainName": "yyyyyyyyyy.cloudfront.net", 
         },
       ]
    }

D.Dimitriogl.. 9

由于AWS CLI --query参数在JMESPath之上工作,因此您可以构建出色的过滤器.您的问题的答案将是:

--query "DistributionList.Items[].{DomainName: DomainName, OriginDomainName: Origins.Items[0].DomainName}[?contains(OriginDomainName, 'example1.com')] | [0]"

它会回报你:

{
  "DomainName": "xxxxxxxx.cloudfront.net",
  "OriginDomainName": "example1.com"
}

PS希望它会帮助某人.



1> D.Dimitriogl..:

由于AWS CLI --query参数在JMESPath之上工作,因此您可以构建出色的过滤器.您的问题的答案将是:

--query "DistributionList.Items[].{DomainName: DomainName, OriginDomainName: Origins.Items[0].DomainName}[?contains(OriginDomainName, 'example1.com')] | [0]"

它会回报你:

{
  "DomainName": "xxxxxxxx.cloudfront.net",
  "OriginDomainName": "example1.com"
}

PS希望它会帮助某人.


`--query"DistributionList.Items [].{DomainName:DomainName,OriginDomainName:Origins.Items [?DomainName == \`example1.com \`] .DomainName | [0]} [?OriginDomainName!= null]"`
推荐阅读
小妖694_807
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有