有没有办法使用 boto3 中的集群名称检查 emr 集群状态?

Posted

技术标签:

【中文标题】有没有办法使用 boto3 中的集群名称检查 emr 集群状态?【英文标题】:Is there a way to check emr cluster status using cluster name in boto3? 【发布时间】:2019-04-19 02:35:49 【问题描述】:

在以下代码中,它可以使用 EMR id 检查 EMR 状态:

import boto3

client = boto3.client('emr')
response = emrClient.describe_cluster(ClusterId='j-XXXXXXXX')

我发现没有使用 emr 名称查询 emr 状态的 api。但是,我只有 emr 名称。如何使用 emr 名称检查我的 emr 状态?

【问题讨论】:

【参考方案1】:

您可以使用list_clusters 方法列出所有现有集群,按名称过滤出您要查找的集群并接收其ID 以用于describe_cluster

看起来像:

import boto3

cluster_name = 'name_of_your_cluster'

client = boto3.client('emr')

clusters = client.list_clusters()
your_cluster = [i for i in clusters['Clusters'] if i['Name'] == cluster_name][0]
response = client.describe_cluster(ClusterId=your_cluster['Id'])

请注意,这仅在您的 EMR 集群具有唯一名称时才有效。

【讨论】:

以上是关于有没有办法使用 boto3 中的集群名称检查 emr 集群状态?的主要内容,如果未能解决你的问题,请参考以下文章

使用 Boto3 基于 AMI 创建 EMR 集群

boto3 iam 客户端:按名称获取策略

我正在尝试使用 python boto3 列出 aws ECS 集群中的所有集群,它最多只能列出 100 个集群,我想要 300 个集群

有没有办法使用带有多个前缀的 boto3 分页器?

使用 boto3 将现有 EMR 集群克隆到新集群中

如何使用 boto3 在集群中启动 EC2 实例