如何使用--query参数从AWS CLI输出JSON中提取State值,是否可用jq实现?
解决方案
方法1:使用AWS CLI 内置 --query 参数提取
AWS CLI 的 --query 参数基于JMESPath语法实现字段过滤,你可以直接指定字段嵌套路径提取对应值,添加 --output text 可直接输出无引号的纯文本结果:
aws emr describe-step --profile dev --cluster-id j-12345678 --step-id s-12345678abc --query 'Step.Status.State' --output text
运行后将直接返回结果:COMPLETED
方法2:使用jq工具实现同等提取需求
可以通过管道将命令输出传给jq处理,添加 -r 参数可输出无转义引号的原始字符串:
aws emr describe-step --profile dev --cluster-id j-12345678 --step-id s-12345678abc | jq -r '.Step.Status.State'
运行后返回结果和方法1完全一致。
内容的提问来源于stack exchange,提问作者TheWalkingMalteser
相关产品推荐
相关产品推荐

