对于标准 SQL,使用试运行查询 BigTable 失败



我们遇到了一个问题,即在配置标准 SQL 时发出 BigTable 外部表的查询

,并dry_run = True错误。

这是意料之中的吗?使用旧版 SQL 或将dry_run设置为 false 时没有问题。

from google.oauth2.service_account import Credentials
from google.cloud.bigquery.client import Client
from google.cloud.bigquery.job import QueryJobConfig
creds = Credentials.from_service_account_file('secrets.json')
client = Client(project='project-id', credentials=creds)
query = 'select col from table limit 1'
job_config = QueryJobConfig()
job_config.dry_run = True
job_config.use_legacy_sql = False
client.query(query, job_config=job_config)

错误:

错误请求:400 POST https://www.googleapis.com/bigquery/v2/projects/project-id/jobs:错误 读取表时:表,错误消息:访问云时出错 大表:API 密钥和身份验证凭据来自 不同的项目。

此代码返回一个没有错误的google.cloud.bigquery.job.QueryJob

job_config = QueryJobConfig()
job_config.dry_run = True
job_config.use_legacy_sql = True
client.query(query, job_config=job_config)

直接访问其余端点时,我们会遇到同样的问题。

已与 GCP 支持确认这是一个内部错误 - 估计将在"一两个月内"推出修复程序。

最新更新