我们如何使用python api客户端在google云上创建项目

问题描述 投票:0回答:1

我正在开发一个自动执行 Google Cloud 设置的项目,有什么方法可以使用适用于 Python 的 Google-Api-Client 创建 Google Cloud 项目?

这是我尝试过的:

来自 views.py

from google.cloud import resource_manager

...

client = resource_manager.Client()
# List down all gcp projects
for project in client.list_projects():
    print(project)
new_project = client.new_project('project11-372', name='My new project')
new_project.create()

它列出了我所有的 gcp 项目,但不创建新项目。

这是我收到的错误:

文件“/Users/abdul/Documents/IGui/rest/views.py”,第 60 行,在帖子中 new_project.create() 文件“/Users/abdul/IstioVirEnv/lib/python3.6/site-packages/google/cloud/resource_manager/project.py”,第 138 行,创建 数据=数据) 文件“/Users/abdul/IstioVirEnv/lib/python3.6/site-packages/google/cloud/_http.py”,第 293 行,api_request 引发异常。from_http_response(response) google.cloud.exceptions.Forbidden: 403 POST https://cloudresourcemanager.googleapis.com/v1beta1/projects: 调用者没有权限。
[20/8/2017 05:55:02]“POST /user/deployment/create/new HTTP/1.1”500 14960

google-api google-cloud-platform google-api-python-client google-cloud-python
1个回答
0
投票

我已使用 Google Cloud API Python 客户端成功创建了 Google Cloud 项目。

步骤

  • 运行
    gcloud beta auth application-default login
    命令通过登录浏览器获取应用程序默认凭据
  • 在我的 GCP 控制台中启用资源管理器 API

这是有效的 Python 代码:

from googleapiclient import discovery
from oauth2client.client import GoogleCredentials

...

credentials = GoogleCredentials.get_application_default()
service = discovery.build('cloudresourcemanager', 'v1', credentials=credentials)
project_body = {
    'name': 'Api Project',
    'projectId': 'api-9837'
}
request = service.projects().create(body=project_body)
request.execute()
pprint(request)

© www.soinside.com 2019 - 2024. All rights reserved.