【发布时间】:2018-06-28 19:23:50
【问题描述】:
有没有一种方法可以安排 python 脚本将数据加载到 Bigquery,而无需为每次运行复制从 google 帐户链接生成的身份验证代码。
我目前正在使用 Windows 任务调度程序来实现这一点。
【问题讨论】:
标签: python windows oauth google-bigquery
有没有一种方法可以安排 python 脚本将数据加载到 Bigquery,而无需为每次运行复制从 google 帐户链接生成的身份验证代码。
我目前正在使用 Windows 任务调度程序来实现这一点。
【问题讨论】:
标签: python windows oauth google-bigquery
是的,有。您必须使用service account credentials。创建一个后,将其作为 JSON 文件下载到本地并在 Python 脚本中使用,如下所示:
from google.cloud import bigquery as bq
client = bq.Client.from_service_account_json('path/to/credentials.json')
这将使您需要的所有 BigQuery 连接都已自动为您处理身份验证。
【讨论】:
您可以通过以下链接 cloud.google.com/storage/docs/authentication#service_accounts 创建凭据。
在 python 脚本中,您可以使用 private_key 参数将 json 文件路径直接传递给用于从 BQ 读取/写入 BQ 的函数。
pandas_gbq.read_gbq(query, project_id= myprojectid, ..., private_key= 'jsonfilepath', dialect=’legacy’)
pandas.to_gbq(dataframe, destination_table, project_id, chunksize=10000, ..., private_key='jsonfilepath')
然后您安排任务以运行 python 脚本,就像您通常使用 windows 任务调度程序一样。
【讨论】: