aws-cli - 返回的属性中有句点/点时的 AWS CLI 查询选项
问题描述
这是我正在运行的命令
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
作为结果输出返回。
我尝试了其他几件事,但似乎无法createImage.ImageId
通过 AWS CLI 查询选择属性。是否可以通过--query
不使用其他脚本工具(jq
等)来做到这一点
解决方案
aws ssm describe-automation-executions \
--filters "Key=ExecutionId,Values=b4a76700-50e0-4b3d-a790-d80a54ee91de" \
--query 'AutomationExecutionMetadataList[0].Outputs."createImage.ImageId"'
经过一些实验,上面的命令最终起作用了。
在旁注中,我注意到 AWS CLI 查询格式采用此处记录的格式http://jmespath.org/
--query 参数接受符合 JMESPath 规范的字符串
https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-output.html#cli-usage-output-filter
推荐阅读
- powershell - Compress-Archive 正在抛出“System.OutOfMemoryException”
- javascript - 猫鼬中带有 ref 的 ObjectId 数组显示错误 Cast to Array failed for value
- ruby-on-rails - Postgres、Rails 和选择不在组子句中的列
- java - 找到多个名为 [spring_web] 的片段。在非 Maven 项目中
- uml - UML类图设计
- mysql - 当它们没有相同的键时组合来自 2 个表的数据?
- mysql - MySQL 5.7.24 的负载转储后,无法将双精度值正确存储到 MySQL 5.7.25
- postgresql - 跨多个表排除约束?
- python-3.x - 在 Python 3 中导入 H2O 失败
- intellij-idea - Intellij 2018.3 默认自动完成禁用