首页 > 解决方案 > Google Cloud Platform API - 列出计算引擎使用的区域

问题描述

当您想使用 Google Cloud Api 列出一些资源时,通常需要该区域。例如,如果您想列出您必须执行的所有 VM 实例

compute.instances.list
-----------------------
GET https://www.googleapis.com/compute/v1/projects/{some project}/zones/{some zone}/instances?key={YOUR_API_KEY}

如果您提前知道区域,这很酷,但我想列出所有可用区域,让用户选择一个区域,然后列出该项目和区域中的所有实例。

有一个端点返回给定项目的区域:

compute.zones.list
------------------

GET https://www.googleapis.com/compute/v1/projects/{some project}/zones?key={YOUR_API_KEY}

但它会返回所有可用区域,即使是您没有任何资源的区域。

有没有办法只获得已使用的区域?

标签: google-cloud-platform

解决方案


有一个名为 aggregatedList 的 API 可以检索项目中所有区域和所有区域的所有实例的列表。这方面的文档可以在这里找到:

https://cloud.google.com/compute/docs/reference/rest/v1/instances/aggregatedList

在最高级别,REST 请求如下所示:

https://www.googleapis.com/compute/v1/projects/{project}/aggregated/instances

推荐阅读