如何整理AWS EC2 CLI返回结果:格式化Spot容量不足终止的实例信息
解决AWS EC2 CLI查询结果转为逗号分隔单行的问题
完全可以实现,只需调整CLI命令的查询语句和输出格式即可,具体方案如下:
修改后的命令
aws ec2 describe-instances \ --filters Name=instance-lifecycle,Values=spot Name=instance-state-name,Values=terminated Name=state-reason-code,Values=Server.SpotInstanceTermination \ --query 'Reservations[].Instances[].[InstanceId, StateTransitionReason, (Tags[?Key==`Name`].Value)[0]]' \ --output csv
关键调整说明
消除嵌套数组:
原查询中Tags[?Key==Name].Value[]会返回数组格式的标签值,改为(Tags[?Key==Name].Value)[0]后,直接提取Name标签的第一个值(单个字符串),避免嵌套结构。同时补充InstanceId字段(原返回结果中第一个值为实例ID,但原查询未显式包含,需手动添加)。直接输出CSV格式:
添加--output csv参数后,AWS CLI会自动将查询结果格式化为逗号分隔的单行文本,每个符合条件的实例对应一行。
示例输出
执行上述命令后,输出会匹配你期望的格式:
i-XXXXXXXX,服务发起 (2024-07-08 10:55:08 GMT),ec2-main
内容的提问来源于stack exchange,提问作者user7692855
相关产品推荐
相关产品推荐

