我正在尝试使用bq
命令行工具将数据从GCS存储桶加载到BigQuery中,并收到以下错误消息:
BigQuery error in load operation: Access Denied: Job mythical-maxim-293:bqjob_r11765e0cd9ceb52b_000001427694f0e1_1: RUN_JOB
我正在使用服务帐户(使用私钥)进行身份验证。我按照以下链接授予服务帐户访问级别:
https://developers.google.com/bigquery/loading-data-into-bigquery https://developers.google.com/bigquery/access-control
服务帐户电子邮件被授予使用BigQuery数据集的WRITE访问权限和使用GCS存储桶的READ访问权限。
注意:将服务帐户电子邮件作为编写者添加到项目中,解决了问题,但这对我的情况不可行。我不被允许请求项目级写入访问,但BigQuery和GCS(只读)。
谢谢!
答案 0 :(得分:4)
要运行作业,必须至少为服务帐户提供项目的READ权限。这是因为在项目中运行工作的任何人都可以做一些花费项目所有者钱的事情(例如运行查询)。
要将服务帐户添加到项目,请转到https://cloud.google.com/console,然后点击“权限”,然后点击“添加会员”。
答案 1 :(得分:0)
您必须对数据集提供WRITE权限。
https://cloud.google.com/bigquery/loading-data-into-bigquery#access
这很糟糕,因为WRITE权限意味着您拥有READ权限。但是,对于bigquery,READ是付费的,而Load是免费的。为了完成免费任务,应该有必要访问付费服务。
Google必须更正此问题。