gpt4 book ai didi

python - 用户无权查询 bigquery 表

转载 作者:行者123 更新时间:2023-12-05 05:09:31 25 4
gpt4 key购买 nike

我正在使用 bigquery 客户端查询表中的数据:

query_job = self.bigquery_client.query("SELECT * FROM {0} WHERE AGE={1}".format(table_name, 1))
results = query_job.result()

这个在服务帐户下的另一个进程中工作(使用 query1):

self.bigquery_client = bigquery.Client().from_service_account_json(self.access_key_path)

另外一个进程,我查询另一个项目下的另一个表,因为我没有查询表的权限,所以无法查询。

我尝试使用此代码,但仍然出现权限错误(使用 query2):

self.bigquery_client = bigquery.Client()
# or self.bigquery_client = bigquery.Client(project='PROJECT_ID')

如何在不向我的查询提供服务帐户的情况下访问这两个表(2)?

最佳答案

您的客户端需要通过您要访问的项目的身份验证。

如果您需要查询不同项目中的不同表,您的服务帐户应该在两个项目中都具有权限。另一种方法是为每个项目创建一个服务帐户并为每个项目创建一个客户端(在您的情况下,您将使用不同的客户端进行不同的查询)。

我建议你使用第一种方法,因为它不仅更实用,而且可以避免一些问题。例如,如果您想在查询中加入两个表,则需要同时访问两个表,而使用单独的服务帐户是不可能的。

关于python - 用户无权查询 bigquery 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57474096/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com