当前位置: 首页 > 知识库问答 >
问题:

用户没有bigquery.datasets.update权限

端木野
2023-03-14

我在Google BigQuery中创建了一个数据集,并下载了json auth文件。我试图从Jupyter笔记本中的python访问此数据集中的表,但我得到了错误:

“禁止:403补丁https://bigquery.googleapis.com/bigquery/v2/projects/testdbt-bigquery-20200403/datasets/landing_zone_flights:拒绝访问:数据集testdbt-bigquery-20200403:着陆区飞行:用户没有数据集testdbt-bigquery-20200403:着陆区飞行的bigquery.datasets.update权限。“

代码:

%reload_ext google.cloud.bigquery

import os
from google.cloud import bigquery
print(os.environ['GOOGLE_APPLICATION_CREDENTIALS']) 
client = bigquery.Client.from_service_account_json('~/Code/BigQuery/Test_BQ.json')
#get dataset and set permissions as Reader
dataset = client.get_dataset("landing_zone_flights")
entries = list(dataset.access_entries)
full_dataset_id = "{}.{}".format(dataset.project, dataset.dataset_id)
dataset.access_entries = entries

dataset = client.update_dataset(dataset, ["access_entries"])  # Make an API request.

print(
    "Updated dataset '{}' with modified user permissions.".format(full_dataset_id)
)

错误是:

禁止:403 PATCHhttps://bigquery.googleapis.com/bigquery/v2/projects/testdbt-bigquery-20200403/datasets/landing_zone_flights:拒绝访问:数据集testdbt-bigquery-20200403:landing_zone_flights:用户没有数据集testdbt-bigquery-20200403:landing_zone_flights的bigquery.datasets.update权限。

我做错了什么?我能够获取并列出数据集属性,但无法更新或查询任何表

共有3个答案

充子航
2023-03-14

>

  • 转到此Google Cloud链接

    转到谷歌控制

    将项目的权限从“编辑器”更改为“所有者”。

    遵循最新的说明-但在撰写本文时,我选择了IAM角色来更改权限。

    这对我有用

  • 丌官嘉勋
    2023-03-14

    如果要使用更细粒度的方法来允许在Bigquery数据集中进行更新,可以使用以下规则:

    1. bigquery。数据集。创建
    2. bigquery。数据集。删除
    3. bigquery。数据集。更新
    4. bigquery。数据集。得到

    这里提到了这个预定义的角色。

    太叔小云
    2023-03-14

    我可以通过使用Project-Owner角色而不是BigQuery-Reader创建一个新键来解决这个问题

     类似资料:
    • 我试图连接一个简单的泛美卫生组织客户端到artemis wildfly经纪人。当我试图连接我的客户端时,我得到了以下信息: 警告[org.apache.activemq.artemis.core.protocol.mqtt](Thread-2(activemq-netty-threads-164875171))错误处理控制包,断开clientamq119032:user:null没有地址$sys.

    • 我找了很多,但都不适合我。 我有一个全新的LAMP服务器安装,通过任务命令安装。我的系统运行的是 7.4 和 MySql 8 出于某种原因,root用户(在我的例子中默认称为phpmyadmin)对DB没有权限。 我可以登录,所以我确信密码是正确的,但我无法创建数据库。 编辑 如建议,这是 新编辑 我试图在没有密码的情况下访问,按照这里报告的指南:... 我没有结果:( 停止MySQL服务器:su

    • /home/ftpuser的权限 : debian 这个用户属于ftpuser组: debian用户为何无法打开这个文件夹呢?: 770也没有权限? 777可以查看. 看看debian用户加入了哪些组? debian用户在debian组和ftpuser组。

    • 我在Windows7上安装了WAMP2.1。然而,当我打开phpMyAdmin时,我得到一个错误,Mysql'No provideges'。我卸载了wamp并重新安装了几次,但都没有用。有人知道如何解决这个问题吗? 此外,当我试图从mysql控制台创建一个数据库,我得到以下错误:错误1044

    • 我正在使用我的Google Play开发者帐户,我有一些已发布的应用程序。 我怀疑帐户的所有者(我是所有者,但我怀疑我是否创建了另一封电子邮件作为所有者)。 这是Google Play Console的一张图片,上面说我要联系账户所有者alan******@gmail。com的用户是登录的同一帐户。 我试图联系谷歌的支持,但他们没有回答我。我不是那么有经验的用户,所以它可能是新手。 有什么我遗漏的

    • 我试图与谷歌广告API工作。运行Ubuntu 20.04,Python 3.9(客户端库工作的最低要求是3.6),使用google-ads-api V6。这是我痛苦的故事。 我创建了一个测试管理器帐户[a],生成了一个开发人员的令牌,并拥有使用API的“测试级别”权限,这非常棒。测试级别允许您调用API,以获取与测试帐户(而非生产帐户)有关的信息\报告。 此外,我检查了帐户[A]的整个Oauth2