AWS EMR BOTO3, не удалось найти список кластеров: нужны подробности о всех кластерах - PullRequest
0 голосов
/ 21 мая 2019

Когда я хочу получить список EMR, используя boto 3, я не могу получить

Я пытался по-разному

  m="None"
  while True:
       try:

         cluster_list_result=client.list_clusters(ClusterStates=['WAITING'], CreatedAfter=datetime(2017,5,19), 
         CreatedBefore=datetime(2019,5,19) ,Marker=m)
         print(cluster_list_result)
         m=cluster_list_result.Marker  # See if there are more



         print("m value is" +m)
       except AttributeError:
        break

Нужен список действий клиента

1 Ответ

1 голос
/ 22 мая 2019

API list_client для boto3-emr не ожидает параметра Marker как None. Также не обязательно, чтобы вы всегда возвращали параметр Marker в ответ, поскольку это просто маркер пагинации для дальнейших результатов.

Я немного обновил твой код, и у меня это отлично работает:

import boto3
client = boto3.client('emr',region_name='us-east-1')
marker=None

while True:
    try:
        if marker:
            cluster_list_result=client.list_clusters(ClusterStates=['WAITING'], CreatedAfter=datetime(2017,5,19), CreatedBefore=datetime(2019,5,19), Marker=marker)
        else:
            cluster_list_result = client.list_clusters(ClusterStates=['WAITING'], CreatedAfter=datetime(2017, 5, 19), CreatedBefore=datetime(2019, 5, 19))

        print cluster_list_result

        if 'Marker' in cluster_list_result:
            marker = cluster_list_result['Marker']
        else:
            break
    except Exception, e:
        raise e
...