如何在Python的GCP项目中遍历所有DataProc集群?

时间:2019-05-22 10:01:39

标签: python google-cloud-platform google-cloud-functions google-cloud-dataproc

我正在尝试创建一个Google Cloud函数,该函数可对所有当前正在运行的DataProc集群进行迭代,但是dataproc.list_functions()方法要求将区域作为参数传递。我们可以同时在多个活动区域上分布多个集群。

是否有任何方法可以在Python中检索区域列表并将对list_functions的调用包装在遍历所有区域的for循环内?

例如:

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

1 个答案:

答案 0 :(得分:5)

您可以使用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