googleapis bigquery listjobs不返回任何结果

时间:2019-09-09 15:08:43

标签: google-bigquery

我正在测试一些代码来调用googleapis bigquery listjobs REST API。我要去:

https://bigquery.googleapis.com/bigquery/v2/projects/PROJID/jobs

,其中包含从服务帐户生成的访问令牌。结果永远不会包含工作详细信息,只是:

{
  "etag": "tAZvk1k2f2GY8yHaQF7how==",
  "kind": "bigquery#jobList"
}

如果我通过bq cli工具或文档中的“尝试使用此api”表单进行了调用,则会获得结果。如果我切换到列出数据集,我也会得到结果。查询中有明显的错误吗?

1 个答案:

答案 0 :(得分:0)

默认情况下,BigQuery list jobs API仅返回由发出请求的用户启动的作业。 bq CLI /“尝试此API”与您的REST API调用之间的区别在于,bq CLI正在以您的Google帐户的身份发出请求,但您使用的是REST API的服务帐户。

allUsers查询参数设置为true,以列出该项目的所有作业。

https://bigquery.googleapis.com/bigquery/v2/projects/PROJID/jobs?allUsers=true

注意:您的服务帐户需要具有BigQuery Admin IAM角色才能发出这样的请求。