如何在 Python 中迭代 GCP 项目中的所有 DataProc 集群?

How do I iterate over ALL DataProc clusters in a GCP project in Python?

我正在尝试创建一个 google 云函数来迭代所有当前 运行 DataProc 集群,但是 dataproc.list_functions() 方法要求将区域作为参数传入。我们有多个集群在多个区域同时处于活动状态。

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

例如:

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

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