Как перебрать ВСЕ кластеры DataProc в проекте GCP на Python? - PullRequest
1 голос
/ 22 мая 2019

Я пытаюсь создать облачную функцию Google, которая выполняет итерацию по всем работающим в данный момент кластерам DataProc, однако метод dataproc.list_functions() требует, чтобы регион передавался в качестве параметра.У нас есть несколько кластеров в нескольких регионах, активных одновременно.

Есть ли способ получить список областей в Python и заключить вызов в list_functions внутри цикла for, который повторяется во всех регионах?

например:

for region in regions:
    for cluster in client.list_clusters('project', region):
        do_stuff()

1 Ответ

5 голосов
/ 22 мая 2019

Вы можете перечислить используемые области в проекте с помощью клиента Compute:

from googleapiclient import discovery

def get_regions(project):
    compute_client = discovery.build('compute', 'v1')

    regions = compute_client.regions().list(project=project).execute()

    region_names = []
    for r in regions["items"]:
        region_names.append(r["name"])

    return region_names
...