Amazon web services 如何在aws rds descripe db instances命令中使用--query参数

Amazon web services 如何在aws rds descripe db instances命令中使用--query参数,amazon-web-services,aws-cli,Amazon Web Services,Aws Cli,下面是描述数据库实例的概要 [--db-instance-identifier <value>] [--filters <value>] [--cli-input-json <value>] [--starting-token <value>] [--page-size <value>] [--max-items <value>] [--generate-cli-skeleton <value>]

下面是描述数据库实例的概要

 [--db-instance-identifier <value>]
 [--filters <value>]
 [--cli-input-json <value>]
 [--starting-token <value>]
 [--page-size <value>]
 [--max-items <value>]
 [--generate-cli-skeleton <value>]
语法是什么 在大多数aws cli命令中都可以使用
--query'DBInstances[*.[DBInstanceArn,Engine,DBInstanceIdentifier]
--query
参数。它帮助您控制命令执行的输出。您可能想了解它的工作原理

对于
aws rds Descripte db instances
(您可以检查或运行
aws rds Descripte db instances help
,以了解输出值),执行该命令将为您运行的每个db返回一长串db属性:

{
    "DBInstances": [
        {
            "PubliclyAccessible": true,
            "MasterUsername": "TestDB",
            "MonitoringInterval": 0,
            "LicenseModel": "general-public-license",
            "VpcSecurityGroups": [
                {
                    "Status": "active",
                    "VpcSecurityGroupId": "sg-5a69722b"
                }
            ],
            "CopyTagsToSnapshot": false,
            "OptionGroupMemberships": [
                {
                    "Status": "in-sync",
                    "OptionGroupName": "default:mysql-5-6"
                }
            ],
            "PendingModifiedValues": {
                "MasterUserPassword": "****"
            },
            "Engine": "mysql",
            "MultiAZ": false,
            "DBSecurityGroups": [],
            "DBParameterGroups": [
                {
                    "DBParameterGroupName": "default.mysql5.6",
                    "ParameterApplyStatus": "in-sync"
                }
            ],
            "AutoMinorVersionUpgrade": false,
            "PreferredBackupWindow": "06:52-07:22",
            "DBSubnetGroup": {
                "Subnets": [
                    {
                        "SubnetStatus": "Active",
                        "SubnetIdentifier": "subnet-50dea718",
                        "SubnetAvailabilityZone": {
                            "Name": "us-east-1d"
                        }
                    },
                    {
                        "SubnetStatus": "Active",
                        "SubnetIdentifier": "subnet-c5bba9a0",
                        "SubnetAvailabilityZone": {
                            "Name": "us-east-1b"
                        }
                    },
                    {
                        "SubnetStatus": "Active",
                        "SubnetIdentifier": "subnet-5ff24a05",
                        "SubnetAvailabilityZone": {
                            "Name": "us-east-1a"
                        }
                    },
                    {
                        "SubnetStatus": "Active",
                        "SubnetIdentifier": "subnet-98a39da4",
                        "SubnetAvailabilityZone": {
                            "Name": "us-east-1e"
                        }
                    },
                    {
                        "SubnetStatus": "Active",
                        "SubnetIdentifier": "subnet-42b42c4e",
                        "SubnetAvailabilityZone": {
                            "Name": "us-east-1f"
                        }
                    },
                    {
                        "SubnetStatus": "Active",
                        "SubnetIdentifier": "subnet-4d28a961",
                        "SubnetAvailabilityZone": {
                            "Name": "us-east-1c"
                        }
                    }
                ],
                "DBSubnetGroupName": "default",
                "VpcId": "vpc-1b70fd62",
                "DBSubnetGroupDescription": "default",
                "SubnetGroupStatus": "Complete"
            },
            "ReadReplicaDBInstanceIdentifiers": [],
            "AllocatedStorage": 5,
            "DBInstanceArn": "arn:aws:rds:us-east-1:325979260958:db:testdb",
            "BackupRetentionPeriod": 0,
            "DBName": "TestDB",
            "PreferredMaintenanceWindow": "wed:10:19-wed:10:49",
            "DBInstanceStatus": "creating",
            "IAMDatabaseAuthenticationEnabled": false,
            "EngineVersion": "5.6.35",
            "AvailabilityZone": "us-east-1e",
            "DomainMemberships": [],
            "StorageType": "gp2",
            "DbiResourceId": "db-5VK47WZ6OTS5VEA7OJUF4XH5OI",
            "CACertificateIdentifier": "rds-ca-2015",
            "StorageEncrypted": false,
            "DBInstanceClass": "db.t2.micro",
            "DbInstancePort": 0,
            "DBInstanceIdentifier": "testdb"
        }
    ]
}
您可能对所有这些元素都不感兴趣,但希望具体了解列表的子部分。此时,您将使用
--query
参数指定属性

我可以通过运行以下命令将元素数限制为
DBInstanceArn
引擎
DBInstanceIdentifier

$ aws rds describe-db-instances --query 'DBInstances[*].[DBInstanceArn,Engine,DBInstanceIdentifier]'
[
    [
        "arn:aws:rds:us-east-1:325979260958:db:testdb",
        "mysql",
        "testdb"
    ]
]

查询
参数中使用的语法为。由于该命令的输出是一个JSon文档,它可以帮助您解析它。

如何使用“aws rds descripe db instances--query”?欢迎使用StackOverflow!不幸的是,你的问题不清楚。请编辑您的问题,并让我们知道您正在努力完成什么,到目前为止您尝试了什么,以及您遇到了哪些错误。有关提问的技巧,请参阅:你只是在问吗?弗雷德里克,非常感谢你的大力帮助。我非常感激。
$ aws rds describe-db-instances --query 'DBInstances[*].[DBInstanceArn,Engine,DBInstanceIdentifier]'
[
    [
        "arn:aws:rds:us-east-1:325979260958:db:testdb",
        "mysql",
        "testdb"
    ]
]