这是我正在运行的命令
aws ssm describe-automation-executions \
--filters "Key=ExecutionId,Values=b4a76700-50e0-4b3d-a790-d80a54ee91de" \
--query "AutomationExecutionMetadataList[0].Outputs"
输出为
{
"createImage.ImageId": [
"ami-0db79d4244a6501bc"
]
}
这是我的期望。但是,我想进一步优化查询以选择createImage.ImageId
,并且由于该属性中包含点,因此以下查询将不起作用
--query "AutomationExecutionMetadataList[0].Outputs.createImage.ImageId"
这将返回null
作为结果输出。
我尝试了其他几件事,但是似乎无法通过AWS CLI查询选择createImage.ImageId
属性。
是否可以通过--query
来执行此操作,而无需使用其他脚本工具(jq
等)
答案 0 :(得分:1)
aws ssm describe-automation-executions \
--filters "Key=ExecutionId,Values=b4a76700-50e0-4b3d-a790-d80a54ee91de" \
--query 'AutomationExecutionMetadataList[0].Outputs."createImage.ImageId"'
经过一些试验,上述命令最终生效。
另一方面,我注意到http://jmespath.org/
中记录了该格式的AWS CLI查询格式-query参数接受符合JMESPath规范的字符串
https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-output.html#cli-usage-output-filter