Есть ли способ проверить состояние кластера EMR, используя имя кластера в Boto3? - PullRequest
0 голосов
/ 19 апреля 2019

В следующих кодах он может проверять состояние EMR с помощью идентификатора EMR:

import boto3

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

Я считаю, что нет API для запроса статуса emr по имени emr. Но у меня есть только имя Эмр. Как я могу проверить свой статус emr, используя имя emr?

1 Ответ

1 голос
/ 19 апреля 2019

Существует метод list_clusters, который можно использовать для вывода списка всех существующих кластеров, отфильтровывания искомого кластера по имени и получения его идентификатора для использования для 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 имеют уникальные имена.

...