Skip to main content
 首页 » 编程设计

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

2025年05月04日20飞鱼

我正在尝试创建一个谷歌云函数来迭代所有当前正在运行的 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