python - 如何使用服务帐户确定 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 作业的状态?
解决方案
尝试oauth2
直接使用,如下所示:
from google.oauth2 import service_account
credentials = service_account.Credentials.from_service_account_file('./key.json')
您可以通过以下方式安装它:
pip install google-oauth
推荐阅读
- blazor - Blazor 服务器端 - 子函数中更改的值未更新 UI
- go - exec.command - CMD.exe - 通过命令行查询
- python - 如何将一个索引的列表拆分为单个元素?
- python - 在空格处拆分字符串比单个空格和制表符更长,Python
- time-series - 将具有不同时间长度的特征用于 ANN 模型
- javascript - 您可以将 AudioContext/Analyser 附加到已加载 src 的 HTML 音频节点吗?
- amazon-web-services - 降低 AWS S3 文件的 AWS 数据传输成本
- amazon-web-services - 使用 CloudWatch Insights 在 Glue Query 中查询 Python 日志
- javascript - 显示数组的最后 3 项
- php - 使用 PHP-7 套接字作为 WebSocket 服务器可能出现的编码问题