如何使用服务帐户确定 Google BigQuery 作业的状态?
Posted
技术标签:
【中文标题】如何使用服务帐户确定 Google BigQuery 作业的状态?【英文标题】:How to determine the status of a Google BigQuery job using a Service Account? 【发布时间】:2018-11-22 00:20:17 【问题描述】:我们正在尝试使用 App Engine 中的服务帐号确定 BigQuery 上的作业状态。
以下代码将确定作业的状态,但我们需要将其从使用默认 App Engine 凭据更改为服务帐户。
credentials = GoogleCredentials.get_application_default()
bigquery = discovery.build('bigquery', 'v2', credentials=credentials)
request = bigquery.jobs().get(projectId=PROJECT_ID, jobId=JOB_ID)
result = request.execute(num_retries=2)
我们将如何更改此设置以使用服务帐号来获取 BigQuery 作业的状态?
【问题讨论】:
【参考方案1】:尝试直接使用oauth2
,像这样:
from google.oauth2 import service_account
credentials = service_account.Credentials.from_service_account_file('./key.json')
您可以通过以下方式安装它:
pip install google-oauth
【讨论】:
酷:)!忘了提一下,如果您使用的是标准环境,现在可以选择使用 python appengine 的second generation。在那里你可以安装任何你想要的库,这样你就可以使用官方客户端连接到 gcp。以上是关于如何使用服务帐户确定 Google BigQuery 作业的状态?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用服务帐户密钥通过 ADF 连接到 Google 云存储
如何在 Google Apps 脚本中使用服务帐户对 Google 表格进行身份验证