尝试在 google cloud shell 中列出项目并出现错误
Posted
技术标签:
【中文标题】尝试在 google cloud shell 中列出项目并出现错误【英文标题】:trying to list projects in google cloud shell and getting error 【发布时间】:2020-07-07 07:55:41 【问题描述】:我正在尝试通过 cloudshell 终端的以下 python 代码列出我的帐户可用的项目
from googleapiclient import discovery
from oauth2client.client import OAuth2Credentials as creds
crm = discovery.build(
'cloudresourcemanager', 'v1', http=creds.authorize(httplib2.Http()))
filter = "name:project a"
projects = crm.projects().list(filter=filter).execute()
但在执行以下行后,我收到此错误:
crm = discovery.build('cloudresourcemanager', 'v1', http=creds.authorize(httplib2.Http()))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unbound method authorize() must be called with OAuth2Credentials instance as first argument (got Http instance instead)
我是谷歌云和python的新手,请帮助谢谢
【问题讨论】:
您需要先使用服务帐号或OAuth2Credentials
授权
【参考方案1】:
from google.cloud import resource_manager
client = resource_manager.Client()
for project in client.list_projects():
print(project)
这应该给环境变量GOOGLE_APPLICATION_CREDENTIALS
设置的当前上下文中的所有项目
【讨论】:
以上是关于尝试在 google cloud shell 中列出项目并出现错误的主要内容,如果未能解决你的问题,请参考以下文章
Google Cloud Dataproc 删除 BigQuery 表不起作用
Google Cloud Shell - 无法打开shell
Google Cloud Bigtable HBase shell 连接挂起
如何在Google BigQuery Composer和Cloud Shell中提交多个查询
Kickstart Terraform on GCP with Google Cloud Shell
在 BigQuery Cloud Shell 中从 Google 表格创建外部表格时,如何选择默认表格(第一张表格)以外的表格?