【问题标题】:403 permission error when executing from command line client on Bigquery从 Bigquery 上的命令行客户端执行时出现 403 权限错误
【发布时间】:2021-03-27 07:37:55
【问题描述】:

我在本地系统中设置了 gcloud,我正在使用 python3.7 在位于 projectA 的大查询数据集中插入记录。所以我从 命令行客户端 尝试,项目设置为 projectA。我给出的第一个命令是获得身份验证

gcloud auth login 

然后我使用python3并进入python模式

然后我给出以下命令

from googleapiclient.discovery import build
from google.cloud import bigquery
import json

body={json input} //pass the json string here
bigquery = build('bigquery', 'v2', cache_discovery=False)
bigquery.tabledata().insertAll(projectId="projectA",datasetId="compute_reports",tableId="compute_snapshot",body=body).execute()

我得到这个错误:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/googleapiclient/_helpers.py", line 134, in positional_wrapper
    return wrapped(*args, **kwargs)
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/googleapiclient/http.py", line 915, in execute
    raise HttpError(resp, content, uri=self.uri)
googleapiclient.errors.HttpError: <HttpError 403 when requesting https://bigquery.googleapis.com/bigquery/v2/projects/projectA/datasets/compute_reports/tables/compute_snapshot/insertAll?alt=json returned "Access Denied: Table projectA:compute_reports.compute_snapshot: User does not have bigquery.tables.updateData permission for table projectA:compute_reports.compute_snapshot."

我以具有 role/Owner 和 BigQueryDataOwner 权限的用户身份执行它,并且还将 DataEditor 添加到数据集,该数据集具有这些权限,包括 bigquery.tables.update bigquery.datasets.update

我仍然收到此错误。

我不明白为什么我的凭据仍然无法在大查询中执行插入,有人可以帮忙吗?谢谢

【问题讨论】:

  • 执行gcloud auth application-default login 并重试。更好?
  • 请给用户/服务帐号添加“bigquery.tables.updateData”权限后再试一试?
  • 两个选项都试过了,但还是有错误

标签: python-3.x google-cloud-platform google-bigquery python-requests google-api-python-client


【解决方案1】:

错误在于权限,因此 python 运行时使用的服务帐户(在 bash 配置文件中设置的默认服务帐户)没有项目 A 的 Bigquery 数据编辑器访问权限。一旦我授予访问权限,它就开始工作了

【讨论】:

    猜你喜欢
    • 2018-08-31
    • 1970-01-01
    • 2018-07-03
    • 2010-10-30
    • 1970-01-01
    • 1970-01-01
    • 2012-05-28
    • 2017-01-19
    • 1970-01-01
    相关资源
    最近更新 更多