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

Cam*_*Cam 1 python google-cloud-platform google-cloud-dataproc google-cloud-functions

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

有没有办法在Python中检索区域列表并将调用包装到遍历所有区域list_functionsfor循环中?

例如:

for region in regions:
    for cluster in client.list_clusters('project', region):
        do_stuff()
Run Code Online (Sandbox Code Playgroud)

nor*_*bjd 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
Run Code Online (Sandbox Code Playgroud)