使用项目1的服务帐户Json密钥从项目2的Python云函数访问Project1的BigQuery数据存储库

问题描述 投票:0回答:1

我在GCP中有2个不同的项目。

我需要访问Project-1的BigQuery DataStore。已创建所需的服务帐户Json密钥。

已经编写了Project-2中的Python云函数。我需要访问Project-1的BigQuery数据存储。据我了解,我需要从服务帐户json密钥文件(从Project-1)中检索凭证。已将服务帐户json密钥文件上传到Project-2的存储桶中。

Am正在尝试从此Json检索凭证密钥文件。尝试了以下不同方法:凭据= service_account.Credentials.from_service_account_file(文件名,范围='https://www.googleapis.com/auth/cloud-platform')要么客户端= bigquery.Client.from_service_account_json(文件名)要么客户端= bigquery.Client.from_service_account_file(文件名)要么凭据= service_account.Credentials.from_service_account_info(service_account_info)

而且我不断出错,

[[Errno 2]没有这样的文件或目录:filename

我已尝试提供存储区Json文件的文件名作为URL或LinkURL或公共URL

请告知我们如何从Project-2的云功能访问Project-1的BigQuery,并且我确实有来自Project-1的服务帐户Json密钥。

client = bigquery.Client(credentials=credentials,project=credentials.project_id,)

#client = bigquery.Client.from_service_account_json(filetest)

来自项目2中的Python Cloud Function,使用项目1的服务帐户Json密钥

json google-bigquery google-cloud-functions credentials
1个回答
0
投票

服务帐户具有用户帐户之类的邮件地址。

因此,您可以对project1数据集/表上的[email protected]授予必需的权限?您真的需要project2上的另一个服务帐户吗?

© www.soinside.com 2019 - 2024. All rights reserved.