通过 GCP 上的笔记本读取表格时出现谷歌云错误

Posted

技术标签:

【中文标题】通过 GCP 上的笔记本读取表格时出现谷歌云错误【英文标题】:Google cloud error when reading a table via a notebook on GCP 【发布时间】:2021-12-06 19:17:01 【问题描述】:

您好,我有一个谷歌电子邮件帐户,我使用该帐户进入 GCP 项目,我正在尝试通过笔记本读取 BigQuery 表,但是当我尝试通过笔记本读取此表时,我看到了此错误;

Access Denied: Table project-name:data_warehouse_us.partnerize_data_clicks: User does not have permission to query table project-name:data_warehouse_us.partnerize_data_clicks. [accessDenied]
Traceback: 

我进入 IAM 设置,我看到我用来访问它的电子邮件帐户,它有这 3 个角色,`“BigQuery Admin”“BigQuery Data Owner”“BigQuery Job User”我是否需要添加另一个角色能够读取/写入/删除对表的访问权限?还是我需要去其他地方才能修复此错误?

谢谢

【问题讨论】:

Notebook 和 BigQuery 表是否存在于同一个 GCP 项目中? @RiccoD 是的,他们在同一个项目中 当您创建笔记本时,您是否为其定义了特定的服务帐户?您可以通过转到 Vertex AI > Workbench > 选择您的笔记本 > 在“基本信息”选项卡下检查“服务帐户”的值来检查这一点。如果您定义了一个服务帐号,它有哪些权限? @RiccoD 谢谢!您的解决方案有效,电子邮件与服务帐户不同,所以我添加了它,现在它有效,请将其作为答案,以便我可以标记为正确答案 【参考方案1】:

发布为@JuanLozano 确认的答案。 Notebooks 使用服务帐户来授权请求​​。虽然您可以为您的电子邮件帐户设置这些权限,但您仍然必须为您的笔记本使用的服务帐户设置这些权限。

检查定义的服务帐户到笔记本,然后添加必要的权限。

【讨论】:

以上是关于通过 GCP 上的笔记本读取表格时出现谷歌云错误的主要内容,如果未能解决你的问题,请参考以下文章

谷歌云存储:401 未经授权的错误

发送身份验证承载令牌时出现 Cors 策略错误 - node.js(谷歌云功能)

使用谷歌传输服务将文件从 AWS 传输到 GCP 时出现凭证错误

谷歌云平台***创建

GCP - 谷歌云平台:有没有任何方法可以在没有任何版本控制系统的情况下将代码从 eclipse 推送到云端?

尝试使用 gcs json api、axios、vue3、quasar 和 node14 执行单个块可恢复上传到谷歌云存储时出现 cors 错误