2

我有两个项目。Project Apple 在 BQ 表中有数据。Project Banana 对 Apple 的 BQ 表具有读取权限。当我使用 Banana 的 BQ UI 运行查询时,一切都很好。相同的查询在 Banana 的 AI 笔记本中不起作用。

香蕉 BQ 用户界面:

  AVG(A) as A_mean_exact,
  APPROX_QUANTILES(A, 100)[OFFSET(50)] AS A_percentile_50_approx,
  APPROX_QUANTILES(A, 100)[OFFSET(90)] AS A_percentile_90_approx

FROM `apple.v1003.apple_table`
WHERE selected_run = 1

工作正常。

Banana 的 AI 笔记本:

from google.cloud import bigquery
client = bigquery.Client(location="US", project="banana") # I also tried apple; same error
print("Client creating using default project: {}".format(client.project)) 

Client creating using default project: banana

query = """
SELECT 
  AVG(A) as A_mean_exact,
  APPROX_QUANTILES(A, 100)[OFFSET(50)] AS A_percentile_50_approx,
  APPROX_QUANTILES(A, 100)[OFFSET(90)] AS A_percentile_90_approx

FROM `apple.v1003.apple_table`
WHERE selected_run = 1
"""
query_job = client.query(
    query,
    location="US",
) 

df = query_job.to_dataframe()
df
Forbidden: 403 Access Denied: Table apple:v1003.apple_table: User does not have permission to query table apple:v1003.apple_table.

你能建议我应该研究什么吗?我刚开始使用 AI Hub。

4

1 回答 1

2

您目前已授予您项目帐户的权限,但笔记本正尝试通过与运行 JupyterLab 的 Compute Engine 实例关联的服务帐户访问 BigQuery。

您必须转到 Compute Egnine > 您的笔记本计算机 > 查看网络详细信息 > 并查看它使用的服务帐户(在 Banana 中)。然后,在 Apple 的项目 IAM 部分中授予该帐户的权限。

于 2020-04-03T08:35:25.550 回答