BigQuery UI 查询 table,但 AI notebook 抱怨权限问题

BigQuery UI queries table, but AI notebook complains about permissions

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

香蕉 BQ UI:

  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

工作正常。

香蕉的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。

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

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