【问题标题】:Execute BigQuery using python sdk from Jenkins使用来自 Jenkins 的 python sdk 执行 BigQuery
【发布时间】:2020-10-27 23:40:15
【问题描述】:

我有一个使用云服务帐户成功执行 bigquery 的 python 程序。 当我尝试使用 Jenkins 安排 python 程序时,我看到以下错误 gcloud 用户对表和数据集拥有 bigquery 编辑器、数据所有者和管理员权限。

日志: gcloud auth activate-service-account abc --key-file=**** 已激活服务帐户凭据:abc273721.iam.gserviceaccount.com] gcloud 配置集项目 p1 更新了属性 p1。 403 Access Denied: Table XYZ: 用户无权查询表

【问题讨论】:

  • 首先仔细检查服务帐户是否具有正确的 IAM。此外,它正在运行的查询是否试图访问另一个项目中的表?

标签: authentication jenkins google-bigquery gcloud


【解决方案1】:

我看到您已经提供了所有必需的角色; bigquery.dataOwner 和 bigquery.admin,如 here 所述,但看起来您还必须授予 service account access to the dataset

【讨论】:

    【解决方案2】:

    使用BigQuery Admin Role 创建服务帐户并下载 JSON 密钥文件 (example: data-lab.json)。 使用以下代码:

    gcloud auth activate-service-account "service-account" --key-file=data-lab.json --project="project-name"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-12-18
      • 1970-01-01
      • 2017-10-04
      • 2016-11-17
      • 2021-11-26
      • 1970-01-01
      • 2017-09-16
      • 2020-08-15
      相关资源
      最近更新 更多