1

我正在用 Java 构建一个应用程序,用于获取所有 GCP 项目和组织项目下的所有资源。当我点击 REST API 时,我看到了一个使用资源管理器获取组织下所有项目的选项,如下所示

https://cloud.google.com/resource-manager/reference/rest/v1/projects/list

我能够看到组织下的所有项目,但是当我通过 java gcp 库尝试相同的项目时,我只得到提供的服务帐户项目详细信息,而不是完整的组织项目。

有人可以帮我吗

4

1 回答 1

1

以下示例演示了如何列出组织中的每个资源节点:

organizations = CloudResourceManager.Organizations.Search()
projects = emptyList()

parentsToList = queueOf(organizations)
while (parent = parentsToList.pop()) {
  // NOTE: Don't forget to iterate over paginated results.
  // TODO: handle PERMISSION_DENIED appropriately.
  projects.addAll(CloudResourceManager.Projects.List(
      "parent.type:" + parent.type + " parent.id:" + parent.id))
  parentsToList.addAll(CloudResourceManager.Folders.List(parent))
}

如果您的 gcloud 项目列表查询失败或耗时过长,则要返回的 Google Cloud 项目数量可能过多。要解决此问题,请将过滤器和页面大小标志应用于您的 gcloud 项目列表命令。

于 2021-10-30T02:58:21.057 回答