如何使用 JMESPath 通过 DBInstanceIdentifier 查询 AWS CLI RDS 实例
How to use JMESPath to query AWS CLI RDS instances by DBInstanceIdentifier
我需要一个与名称中的字符串 "foobar" 匹配的 RDS DBInstanceIdentifier 列表。我找到了许多完全匹配的解决方案,但没有子字符串匹配。我的方法如下所示:
我使用以下方法获得了所有 DBInstanceIdentifier 的列表:
aws rds describe-db-instances --query "DBInstances[*].[DBInstanceIdentifier][]"
看起来像
[
"machine-001-alice-abcdefg",
"machine-002-bob-abcdefg",
"machine-003-foobar-abcdefg"
]
在列表中,我应用了 last example of the JMSES Tutorial
中的过滤器
aws rds describe-db-instances --query "DBInstances[*].[DBInstanceIdentifier][]|[?contains(@,'dev') =='true']"
如果我将语句更改为 != 我会得到完整的列表,所以我的过滤器语句似乎有误。
true
需要反引号而不是引号,然后似乎需要转义反引号 - 不同的 shell 可能会有所不同。
aws rds describe-db-instances --query "DBInstances[*].[DBInstanceIdentifier][]|[?contains(@,'dev')==\`true\`]"
aws rds describe-db-instances --query "DBInstances[*].[DBInstanceIdentifier][]|[?contains(@,'dev')!=\`true\`]"
你也可以省略与 true 的比较,但我无法成功反转它
aws --profile pollen-nonprod rds describe-db-instances --query "DBInstances[*].[DBInstanceIdentifier][]|[?contains(@,'dev')]"
(我通常会用 jq 做这种事情,但这是一个不同的解决方案,不一定是更好的解决方案)
我需要一个与名称中的字符串 "foobar" 匹配的 RDS DBInstanceIdentifier 列表。我找到了许多完全匹配的解决方案,但没有子字符串匹配。我的方法如下所示:
我使用以下方法获得了所有 DBInstanceIdentifier 的列表:
aws rds describe-db-instances --query "DBInstances[*].[DBInstanceIdentifier][]"
看起来像
[
"machine-001-alice-abcdefg",
"machine-002-bob-abcdefg",
"machine-003-foobar-abcdefg"
]
在列表中,我应用了 last example of the JMSES Tutorial
中的过滤器aws rds describe-db-instances --query "DBInstances[*].[DBInstanceIdentifier][]|[?contains(@,'dev') =='true']"
如果我将语句更改为 != 我会得到完整的列表,所以我的过滤器语句似乎有误。
true
需要反引号而不是引号,然后似乎需要转义反引号 - 不同的 shell 可能会有所不同。
aws rds describe-db-instances --query "DBInstances[*].[DBInstanceIdentifier][]|[?contains(@,'dev')==\`true\`]"
aws rds describe-db-instances --query "DBInstances[*].[DBInstanceIdentifier][]|[?contains(@,'dev')!=\`true\`]"
你也可以省略与 true 的比较,但我无法成功反转它
aws --profile pollen-nonprod rds describe-db-instances --query "DBInstances[*].[DBInstanceIdentifier][]|[?contains(@,'dev')]"
(我通常会用 jq 做这种事情,但这是一个不同的解决方案,不一定是更好的解决方案)