问题描述
我正在尝试从 Google 云平台上 AI 平台的 Jupyter Notebook 访问存储在 BigQuery 中的数据。 首先,我尝试了以下代码:
from google.cloud import bigquery
from google.oauth2 import service_account
credentials = service_account.Credentials.from_service_account_file(r'\local_path\gcpcred.json')
project_id = 'my-bq'
client = bigquery.Client(credentials= credentials,project=project_id)
身份验证凭据存储在本地计算机上名为 gcpcred 的 json 文件中,但是 这给了我一个错误说
FileNotFoundError: [Errno 2] 没有这样的文件或目录: '\local_path\gcpcred.json
我认为,由于我在 AI Platform(在云本身上)运行它,因此我不必使用此 API 并进行身份验证。
所以我简单地写道:
%%bigquery
SELECT * FROM `project.dataset.table` LIMIT 1000
我收到一条错误消息
错误: 403 Access Denied: 用户无权访问表
我如何访问表?请帮忙
解决方法
似乎与 jupyter notebooks 关联的服务帐户没有足够的权限来访问 bigquery。您可以在具有所需权限的 IAM 服务帐户部分更新它。 下面的链接将提供进一步说明: