如何用AWS CLI获取指定日期后创建且全步骤完成的EMR集群及步骤信息?
解决AWS EMR集群信息检索的命令错误与需求完善
一、修复步骤ID获取命令的语法错误
你原来的命令存在三处核心问题:--query参数引号未闭合、--output位置错误、xargs占位符用法不正确。修复后的命令如下:
aws emr list-clusters --created-after 2023-06-25 --query "Clusters[?Status.StateChangeReason.Code=='ALL_STEPS_COMPLETED'].Id" --output text | xargs -n1 -I {} aws emr list-steps --cluster-id {} --query "Steps[*].Id" --output text
错误点说明:
- 原命令中
--query的引号没有闭合,导致shell解析失败 --output text需放在list-clusters命令的末尾,而非中途打断命令结构xargs需要通过-I {}指定占位符,才能正确将集群ID传递给list-steps命令- 将反引号
ALL_STEPS_COMPLETED替换为单引号,避免shell将其解析为执行命令
二、整合所有需求信息的Shell脚本
若要一次性获取集群名称、ID、启动/结束时间、步骤ID、实例规格等全部信息,单独的CLI命令无法满足,建议使用以下Shell脚本(需提前安装jq用于JSON解析):
#!/bin/bash # 可修改为包含时间的ISO格式,例如:2023-06-25T08:00:00Z TARGET_DATE="2023-06-25" # 获取符合条件的集群基础信息并逐行处理 aws emr list-clusters --created-after "$TARGET_DATE" --query "Clusters[?Status.StateChangeReason.Code=='ALL_STEPS_COMPLETED'].{Id:Id, Name:Name, Created:Status.Timeline.CreationDateTime, Ended:Status.Timeline.EndDateTime}" --output json | jq -c '.[]' | while read -r cluster_data; do # 解析集群基础字段 cluster_id=$(echo "$cluster_data" | jq -r '.Id') cluster_name=$(echo "$cluster_data" | jq -r '.Name') created_time=$(echo "$cluster_data" | jq -r '.Created') ended_time=$(echo "$cluster_data" | jq -r '.Ended') # 获取该集群的所有步骤ID,用逗号分隔 step_ids=$(aws emr list-steps --cluster-id "$cluster_id" --query "Steps[*].Id" --output text | tr '\t' ',') # 获取实例组的角色与实例规格 instance_details=$(aws emr describe-cluster --cluster-id "$cluster_id" --query "Cluster.InstanceGroups[*].{Role:InstanceRole, Type:InstanceType}" --output json) # 格式化输出所有信息 echo "=== 集群信息 ===" echo "名称: $cluster_name" echo "ID: $cluster_id" echo "启动时间: $created_time" echo "结束时间: $ended_time" echo "步骤ID列表: $step_ids" echo "实例规格:" echo "$instance_details" | jq -r '.[] | "\(.Role): \(.Type)"' echo -e "\n" done
脚本功能说明:
- 日期支持:
TARGET_DATE可设置为带时间的ISO格式(如2023-06-25T08:00:00Z),满足精确时间范围检索需求 - 结构化解析:用
jq处理AWS CLI返回的JSON数据,轻松提取所需字段 - 完整信息覆盖:同时获取集群基础信息、步骤ID、实例组角色(主节点/核心节点/任务节点)及对应实例类型
- 可读性优化:输出格式简洁清晰,便于查看与后续处理
内容的提问来源于stack exchange,提问作者ablaze
相关产品推荐
相关产品推荐

