AWS CLI命令aws emr list-clusters
返回以下json。有没有办法通过bash或groovy我可以使用Name来获取Id?我不能只使用Id,因为我正在删除集群并使用相同的名称重建它们。所以我知道集群的名称是“my-cluster”,我想以某种方式使用它来获取集群的Id。最后的情况是我实际上想要群集的公共DNS。
{
"Clusters": [
{
"Status": {
"Timeline": {
"ReadyDateTime": 1433200405.353,
"CreationDateTime": 1433199926.596
},
"State": "WAITING",
"StateChangeReason": {
"Message": "Waiting after step completed"
}
},
"NormalizedInstanceHours": 6,
"Id": "j-3SD91U2E1L2QX",
"Name": "my-cluster"
},
{
"Status": {
"Timeline": {
"ReadyDateTime": 1433200405.353,
"CreationDateTime": 1433199926.596
},
"State": "WAITING",
"StateChangeReason": {
"Message": "Waiting after step completed"
}
},
"NormalizedInstanceHours": 6,
"Id": "j-3S281UEK8L2LW",
"Name": "my-cluster2"
}
]
}
答案 0 :(得分:5)
您可以使用query
参数来实现您的目标。该命令如下所示:
aws emr list-clusters --query 'Clusters[?Name==`my-cluster`].Id' --output text
您可以找到query
参数here的完整文档。