【问题标题】:BigQuery UI queries table, but AI notebook complains about permissionsBigQuery UI 查询表,但 AI notebook 抱怨权限问题
【发布时间】:2020-04-03 05:44:27
【问题描述】:

我有两个项目。 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。

【问题讨论】:

    标签: google-cloud-platform google-bigquery gcp-ai-platform-notebook


    【解决方案1】:

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

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

    【讨论】:

    • 我可以发誓我在这里发表了“谢谢”评论,但我看不到它。无论如何,是的,它奏效了!谢谢 :) 我不能赞成你的回答,因为我的声誉太低了。
    • 您需要的不仅仅是“查看”权限吗?我已阅读here,例如,为了从 BQ 控制台导出数据,您需要“bigquery.tables.export”权限。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-02-09
    • 2022-10-24
    • 2020-02-24
    • 1970-01-01
    • 1970-01-01
    • 2018-04-12
    • 1970-01-01
    相关资源
    最近更新 更多