对于标准SQL

时间:2018-04-18 20:17:48

标签: google-bigquery

我们遇到的问题是,在配置标准SQL时,发出一个Big dry_run = True错误的BigTable外部表的查询。

这是预期的吗?使用旧版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)

错误:

  

BadRequest:400 POST   https://www.googleapis.com/bigquery/v2/projects/project-id/jobs:错误   阅读表:表,错误消息:访问云时出错   Bigtable: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)

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

1 个答案:

答案 0 :(得分:1)

通过GCP支持确认这是一个内部错误 - 估计修复将在“一两个月内”推出。