You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS CLI --output text输出一二级JSON字段如何单行展示

问题根因

你写的JMESPath查出来的结果是嵌套数组结构:前两个一级字段是普通字符串,第三个元素是包裹着验证状态、验证方式的二维数组。AWS CLI的text输出模式碰到嵌套数组就会自动拆成新行打印,所以才会出现字段分两行显示的问题。

解决方法

调整JMESPath查询逻辑,把所有要输出的字段全展平成一维顶层数组,不要保留嵌套结构即可。
单证书查询直接用下面的命令,通过数组下标取DomainValidationOptions下的对应字段,不会生成嵌套数组:

aws acm describe-certificate \
  --certificate-arn arn:aws:acm:region:aws-account_id:certificate/xxxx \
  --query 'Certificate.[DomainName, NotAfter, DomainValidationOptions[0].ValidationStatus, DomainValidationOptions[0].ValidationMethod]' \
  --output text

执行后输出和预期效果完全一致:

foo.bar.com	2022-06-18T23:59:59+00:00	FAILED	DNS

批量拉取百条证书的优化方案

不需要循环调用describe-certificate单条查询,直接用list-certificates一次性拉取全量证书列表效率更高,参考命令:

aws acm list-certificates \
  --query 'CertificateSummaryList[].[DomainName, NotAfter, ValidationStatus, ValidationMethod]' \
  --output text
  • 如果需要过滤特定密钥类型的证书,可以加--includes参数指定要匹配的密钥类型
  • 如果证书配置了多个SAN备用域名,DomainValidationOptions数组会存储所有域名的验证记录,上述单证书查询命令里的[0]只会取主域名对应的验证条目,需要输出所有SAN域名对应信息的话,再调整JMESPath做数组展开即可

内容的提问来源于stack exchange,提问作者YAZ84

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 03:15:46