我使用Ruby和google-api-client gem创建一个简单的脚本,列出项目中的所有数据集,然后删除它们。该脚本使用服务帐户凭据并启用了BigQuery API。我正在使用API的v2。
数据集的列表工作正常,我得到了列表(所以它不是凭证或有问题的范围)但是当我尝试删除该数据集时,我得到一个拒绝访问:数据集pppppppppp: foofoofoo:DELETE_DATASET。
当我查看数据集上的ACL时,它被设置为默认值,即组:项目查看者可以查看,组项目编辑器可以编辑和分组:项目所有者是所有者。如果我尝试使用项目所有者凭据登录从控制台删除数据集,则一切正常。
任何帮助将不胜感激。 谢谢 埃尼斯
答案 0 :(得分:1)
听起来您正在使用的服务帐户不在Project Writers组中。删除项目拥有的数据集需要Writer或Owner权限。
数据集权限可在此处找到:https://cloud.google.com/bigquery/access-control#datasetroles