我正在尝试通过bigquery客户端查询来自公共大查询数据集的数据。
我面临的问题是,为了能够做到这一点,我明白我需要在项目中至少有读者权利。事情就是项目是公开的我没有办法改变我对该项目的资助。
还有其他办法吗?我错过了什么吗?
以下是我正在使用的代码:
bigquery_client = bigquery.Client(GDELT_ID)
LIMITED = 'SELECT * FROM [gdelt-bq:full.events_partitioned] LIMIT 100'
query = bigquery_client.run_sync_query(LIMITED)
query.run()
错误信息:
google.cloud.exceptions.Forbidden: 403 Access Denied: Project gdelt-bq: The user ******@gmail.com does not have bigquery.jobs.create permission in project gdelt-bq. (POST https://www.googleapis.com/bigquery/v2/projects/gdelt-bq/queries)
感谢您的帮助
答案 0 :(得分:3)
在第一行中,您指定gdelt-bq(很可能在您的GDELT_ID后面)作为代理项目。当然,您无权使用它。相反 - 您应该指向您自己的项目或者将其留空,因此它将被设置为从环境中推断的默认值
bigquery_client = bigquery.Client()