如何将数据从一个项目的桶加载到python中的另一个项目表中?

时间:2018-06-07 23:25:19

标签: python google-bigquery google-cloud-storage

我有两个项目。我将数据存储在project_A中,并在project_B中构建表格。我为他们两个创建了service_account.json,但是当我需要从project_A加载数据并在{中构建表格时,我不知道如何同时使用这两个文件{1}}。

数据存储在URI中:

project_B

该表格将以gs://project_A//* 表格project_B

生效
huge_table

但我收到错误:

  

google.api_core.exceptions.Forbidden:403拒绝访问:文件   gs:// project_A /:拒绝访问

1 个答案:

答案 0 :(得分:1)

您必须确保service_acct_B具有project_A的存储访问权限:

project_A

  • 转到IAM & admin
  • 添加成员service_acct_B(至少)Storage Object Viewer角色

事实上,你不会在这里使用/需要service_acct_A proj_a_client = storage.Client.from_service_account_json(service_acct_A.json)是多余的。