amazon-web-services - 如何通过AWS查询输出多个元素?

标签 amazon-web-services amazon-rds aws-cli aws-security-group

我尝试以列格式输出“rds”中的三个键。如果我从这个声明开始:

aws rds describe-db-instances --region us-east-1 --query 'DBInstances[*].[DBInstanceIdentifier, PubliclyAccessible, VpcSecurityGroupId]' --output text

...我得到:

DBId true none

但是,如果我包含另一个元素来拉取安全组:

aws rds describe-db-instances --region us-east-1 --query 'DBInstances[*].VpcSecurityGroups[*].[DBInstanceIdentifier, PubliclyAccessible, VpcSecurityGroupId]' --output text

...我得到:

none none sg-id

我不太清楚为什么我的前两列现在变成了并且出现了sg-id

最佳答案

区别在于VpcSecurityGroups[*]:

'DBInstances[*].[DBInstanceIdentifier, PubliclyAccessible, VpcSecurityGroupId]'
vs
'DBInstances[*].VpcSecurityGroups[*].[DBInstanceIdentifier, PubliclyAccessible, VpcSecurityGroupId]'

在第二个中,您不会收到 none,因为 DBInstanceIdentifierPubliclyAccessible 不是 VpcSecurityGroups 的属性。

这是显示层次结构的输出的一部分:

{
    "DBInstances": [
        {
            "PubliclyAccessible": false,
            "VpcSecurityGroups": [
                {
                    "Status": "active",
                    "VpcSecurityGroupId": "sg-1203dc23"
                }
            ],
            "DBInstanceIdentifier": "mydbinstance-1"
        }
    ]
}

试试这个:

'DBInstances[*].[DBInstanceIdentifier, PubliclyAccessible, VpcSecurityGroups[*].VpcSecurityGroupId]'

如果有多个安全组,它看起来不会很漂亮,因为它是一对多的关系。

关于amazon-web-services - 如何通过AWS查询输出多个元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48079599/

相关文章:

amazon-web-services - 创建AWS Application Load Balancer规则,该规则可修剪请求的前缀,而无需使用其他反向代理,例如nginx,httpd

linux - SSH 进入 EC2 并且无法执行 git clone 命令

sql-server - 加密 MS Sql Server 中的数据

amazon-web-services - 全局 Aurora 数据库的 CloudFormation 模板

python - 使用Boto3与RDS上的亚马逊极光交互

amazon-web-services - AWS Lambda 与 EC2 : Which one to choose

postgresql - 将远程转储恢复到 RDS

linux - 使用 AWS cli 解析来自 AWS secret 管理器的 secret

amazon-web-services - 如何在命令行上提供非 Base 64 编码的键

powershell - AWS S3,上传后从本地目录中删除文件