App engine project-1试图访问项目-2中的BQ?

时间:2016-03-25 01:09:50

标签: google-app-engine google-bigquery

我的应用引擎正在项目1中运行。我想访问项目-2中的BQ。如何让项目-1中的app引擎访问项目-2中的BQ?

2 个答案:

答案 0 :(得分:1)

您应该对您感兴趣的数据集请求“可以查看”(或“可以编辑”)权限。项目-2(或相应数据集)的所有者将能够这样做 您不需要出现在项目级别,在某些情况下甚至不适合 - 但您必须对数据集级别拥有适当的权限

如果您是项目2或相应数据集的所有者,您可以通过以下说明轻松完成此操作 https://cloud.google.com/bigquery/bigquery-web-ui#sharedataset

答案 1 :(得分:0)

实现此目的的最简单方法是添加" project-1"的默认服务帐户。到"项目-2":

的权限列表
    云控制台中的
  • 转到project-1
  • 的权限部分
  • 选择服务帐户子标签
  • 查找默认服务帐户(或创建新帐户)
  • 将服务帐户添加到project-2
  • 的权限

修改

您需要以使用应用程序默认服务帐户的方式创建客户端。例如,如果您使用python,它将类​​似于:

# Grab the application's default credentials from the environment.
credentials = GoogleCredentials.get_application_default()
# Construct the service object for interacting with the BigQuery API.
bigquery_service = build('bigquery', 'v2', credentials=credentials)

现在使用您的PK文件,您可以以同一客户端客户端正常工作的方式启动dev appserver:Unable to access BigQuery from local App Engine development server