首页 > 解决方案 > 如何使用服务帐户确定 Google BigQuery 作业的状态?

问题描述

我们正在尝试使用 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 作业的状态?

标签: pythongoogle-app-enginegoogle-bigquery

解决方案


尝试oauth2直接使用,如下所示:

from google.oauth2 import service_account
credentials = service_account.Credentials.from_service_account_file('./key.json')

您可以通过以下方式安装它:

pip install google-oauth

推荐阅读