Python BigQuery 脚本 bigquery.jobs.create 错误
Python BigQuery script bigquery.jobs.create error
我正在尝试 运行 通过 python 脚本在 Google BigQuery 上进行简单查询,但收到以下错误消息,表明我的服务帐户丢失 bigquery.jobs.create
允许。
我的服务帐户应用了以下角色:
- 所有者
- BigQuery 管理员
- BigQuery 作业用户
我也尝试过使用 bigquery.jobs.create
创建自定义角色并将其应用于服务帐户,但仍然始终出现此错误。我做错了什么?
from google.cloud import bigquery
from google.oauth2 import service_account
project_id = "my-test-project"
credentials = service_account.Credentials.from_service_account_file("credentials.json")
client = bigquery.Client(
credentials=credentials,
project=project_id
)
print(client.project) # returns "my-test-project"
query = client.query("select 1 as test;")
Access Denied: Project my-test-project: The user my-service-account @
my-test-project. iam.gserviceaccount.com does not have
bigquery.jobs.create permission in project my-test-project.
使用 client = bigquery.Client.from_service_account_json("credentials.json")
验证客户端是避免 "Access Denied" 错误的首选方法。出于某种原因(我不确定为什么因为 bigquery 确实使用 oauth 2.0 访问令牌来授权请求),通过 google.oauth2.service_account
设置凭据可能会导致权限问题。
我正在尝试 运行 通过 python 脚本在 Google BigQuery 上进行简单查询,但收到以下错误消息,表明我的服务帐户丢失 bigquery.jobs.create
允许。
我的服务帐户应用了以下角色:
- 所有者
- BigQuery 管理员
- BigQuery 作业用户
我也尝试过使用 bigquery.jobs.create
创建自定义角色并将其应用于服务帐户,但仍然始终出现此错误。我做错了什么?
from google.cloud import bigquery
from google.oauth2 import service_account
project_id = "my-test-project"
credentials = service_account.Credentials.from_service_account_file("credentials.json")
client = bigquery.Client(
credentials=credentials,
project=project_id
)
print(client.project) # returns "my-test-project"
query = client.query("select 1 as test;")
Access Denied: Project my-test-project: The user my-service-account @ my-test-project. iam.gserviceaccount.com does not have bigquery.jobs.create permission in project my-test-project.
使用 client = bigquery.Client.from_service_account_json("credentials.json")
验证客户端是避免 "Access Denied" 错误的首选方法。出于某种原因(我不确定为什么因为 bigquery 确实使用 oauth 2.0 访问令牌来授权请求),通过 google.oauth2.service_account
设置凭据可能会导致权限问题。