我运行 aaws rds describe-instances
并json
或多或少地得到了一个实例数组,如下所示:
"DBInstances": [
{
"DBInstanceIdentifier": "my-rds",
"Endpoint": {
"HostedZoneId": "XXXXXXXXXXXX"
},
"DBSecurityGroups": [],
"VpcSecurityGroups": [
{
"VpcSecurityGroupId": "sg-12345",
"Status": "active"
},
{
"VpcSecurityGroupId": "sg-12345",
"Status": "active"
}
],
"DBParameterGroups": [
{
"DBParameterGroupName": "postgres-12",
"ParameterApplyStatus": "in-sync"
}
],
"AvailabilityZone": "us-west-1c",
"DBSubnetGroup": {
"VpcId": "vpc-123456",
"SubnetGroupStatus": "Complete",
"Subnets": [
{
"SubnetIdentifier": "subnet-123456",
"SubnetAvailabilityZone": {
"Name": "us-west-1b"
},
"SubnetOutpost": {},
"SubnetStatus": "Active"
},
{
"SubnetIdentifier": "subnet-12345",
"SubnetAvailabilityZone": {
"Name": "us-west-1c"
},
"SubnetOutpost": {},
"SubnetStatus": "Active"
},
{
"SubnetIdentifier": "subnet-12345",
"SubnetAvailabilityZone": {
"Name": "us-west-1e"
},
"SubnetOutpost": {},
"SubnetStatus": "Active"
}
]
},
"EngineVersion": "11.9",
"AutoMinorVersionUpgrade": true,
"ReadReplicaDBInstanceIdentifiers": [],
"LicenseModel": "foobar",
"OptionGroupMemberships": [
{
"OptionGroupName": "randomname",
"Status": "in-sync"
}
],
},
}
输出明显截断。
有没有办法使用(jq
可能?)打印:
a)DBInstances
数组的所有元素
并且只为每个元素打印
b)DBInstanceIdentifier
和EngineVersion
?
您可以使用以下 JQ 过滤器:
.DBInstances[] | [ .DBInstanceIdentifier, .EngineVersion ]
在哪里
.DBInstances[]
在DBInstances
数组上循环[ .DBInstanceIdentifier, .EngineVersion ]
创建一个只包含DBInstanceIdentifier
和EngineVersion
键的数组jq '.DBInstances[] | [ .DBInstanceIdentifier, .EngineVersion ]'
从您当前的 JSON 示例(DBInstances
数组中只有 1 个项目)开始,结果是:
[
"my-rds",
"11.9"
]
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句