gpt4 book ai didi

java - Google Cloud 资源管理 Java Api 项目列表

转载 作者:行者123 更新时间:2023-12-01 16:38:01 28 4
gpt4 key购买 nike

我正在寻找一种以编程方式列出组织内的 Google Cloud 项目的方法。我正在尝试使用服务帐户导出的 json 凭据以这种方式实现此目的:

    // More info on the endpoint here:
// https://cloud.google.com/resource-manager/reference/rest/v1/projects/list
final CloudResourceManager cloudResourceManagerService = createCloudResourceManagerService();
final CloudResourceManager.Projects.List listRequest = cloudResourceManagerService
.projects()
.list()
.setFilter("labels.it-restoring:false name:IT-TEST-*");

final ListProjectsResponse listResponse = listRequest.execute();

if (listResponse.isEmpty()) {
throw new RuntimeException("The API did not get any response"); // I never get past here
}

log.info("Listing projects returned: {}", listResponse);

我发现的问题是我总是得到空的回复。即使我为服务帐户分配了所有者角色。根据文档,我可以使用 Roles/我也设置了resourcemanager.organizationAdmin,但没有成功。我使用 getApplicationDefault 创建 CloudResourceManagement api 对象。

但是,如果我执行 gcloud beta auth application-default login ,它会触发浏览器中的身份验证流程,并向作为组织所有者的用户进行身份验证,该操作会起作用并列出我的所有项目有。

任何人都可以向我解释我应该做什么来存储模拟用户所有者的正确凭据吗?我已经将服务帐户设置为所有者角色,理论上该角色几乎可以访问所有资源,但仍然没有成功。

最佳答案

为了列出您组织中的项目,您需要 resourcemanager.projects.get 权限。请在此 link 中查找更多信息该服务帐户可能具有 1 项目的所有者角色,但不足以列出所有项目。

关于java - Google Cloud 资源管理 Java Api 项目列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61919140/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com