You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用pandas-gbq 0.15.0读取BigQuery视图报403权限错误如何解决?

问题修复方案

你的credentials参数用法完全符合pandas-gbq 0.15.0+版本的规范,报错和参数替换本身无关,可按照以下步骤排查修复:

  • 修正SQL语法错误
    你当前的查询语句中FROM BQ_VIEW,末尾多了一个多余的逗号,会导致SQL解析异常,先删除该逗号,保证查询语法合法。
  • 排查权限配置
    *Forbidden: 403 Access Denied: BigQuery BigQuery: Permission denied while globbing file pattern*报错本质是服务账号缺少必要资源的访问权限,根据你的场景补充对应权限即可:
    • 基础权限:给服务账号授予目标数据集的BigQuery Data Viewer角色,以及所属项目的BigQuery Job User角色,保证可以正常发起BQ查询、读取视图数据。
    • 新增Storage API权限:pandas-gbq 0.15.0版本默认启用BigQuery Storage API加速数据读取,需要给服务账号补充BigQuery Read Session User角色。
    • 外部表关联权限:如果你的BQ视图依赖了基于GCS文件构建的外部表,需要额外给服务账号授予对应GCS桶的Storage Object Viewer角色,允许服务账号读取GCS上的底层文件。
  • 临时兼容验证
    如果暂时不想调整权限,可以在read_gbq方法中添加use_bqstorage_api=False参数,禁用BigQuery Storage API,回退到老版本的读取逻辑,验证功能是否正常,修改后的代码示例如下:
import pandas as pd
from google.oauth2 import service_account

credentials = service_account.Credentials.from_service_account_file(PATH_TO_JSON)

pd.read_gbq("""
            SELECT
                *
            FROM BQ_VIEW
            """,
            project_id="PROJECT_ID",
            dialect="standard",
            credentials=credentials,
            use_bqstorage_api=False
            )

此外可以额外确认服务账号密钥文件路径是否正确、密钥本身是否对应该项目的有效服务账号,排除凭证本身的问题。

内容的提问来源于stack exchange,提问作者soph020420

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 15:51:00