【问题标题】:Access Big Query from other Project从另一个项目访问 Bigquery
【发布时间】:2022-12-28 13:06:01
【问题描述】:

我正在通过 Terraform 管理两个 GCP 项目:

生产和测试。

有一个活动的工作流正在运行生产它将数据写入大查询数据库。现在我想创建一个实例测试处理数据。

如何从测试中访问生产大查询中的数据?

服务帐户当前具有角色 roles/bigquery.dataEditor、roles/bigquery.jobUser 和 roles/bigquery.user 但这似乎是项目特定的?

【问题讨论】:

标签: google-cloud-platform terraform terraform-provider-gcp


【解决方案1】:

正如@guillaume 和@Stan 所建议的,您可以通过在测试项目中为您的服务帐户/用户赋予适当的角色来提供对生产项目中数据集的访问。详细过程参考这个documentation

请注意,为了能够查询数据集中的表,您需要获得在项目中运行查询作业的权限,这可以通过将角色/bigquery.jobUser 角色分配给项目的服务帐户/用户来完成。

【讨论】:

    【解决方案2】:

    如果您使用的是服务帐户,您的初始化将如下所示:

    Google::Cloud::Bigquery.new(
      credentials: JSON_KEY_FROM_HOST_PROJECT,
      project_id: THE_REMOTE_PROJECT_ID
    )
    

    问题是 JSON_KEY 来自宿主项目,而 PROJECT_ID 来自远程项目。通常人们会期望 project_id 是查询的一部分,而不是客户端连接。

    文档没有给出很好的例子。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-03-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-10
      • 1970-01-01
      • 1970-01-01
      • 2016-12-19
      相关资源
      最近更新 更多