google-bigquery - BigQuery Python 客户端库 - 命名参数错误
问题描述
我正在尝试使用名为“参数”的 Python 客户端库编写一个简单的查询,但一直遇到错误。
当我尝试运行代码时,我不断收到“未声明的查询参数”。我错过了什么吗?
我的代码:
import datetime
import os
from google.cloud import bigquery
os.environ["GOOGLE_APPLICATION_CREDENTIALS"]=<path>
client = bigquery.Client(project='project_id')
query = """
SELECT * from `<project_id>.<dataset_id>.*`
WHERE CAST(REGEXP_EXTRACT(_TABLE_SUFFIX, r"^(\d{8})$") AS INT64) = @date
limit 10;
"""
query_params = [
bigquery.ScalarQueryParameter(
'date',
'INT64',
int((datetime.date.today().strftime('%Y%m%d'))
)
]
job_config = bigquery.QueryJobConfig()
job_config.query_parameters = query_params
query_job = client.query(
query,
location = 'US')
for row in query_job:
print(row)
assert query_job.state == 'DONE'
解决方案
看起来您缺少将您job_config
的参数输入client.query()
方法的参数。你应该有:
query_job = client.query(
query,
location = 'US',
job_config=job_config)
推荐阅读
- android - Android(中午植根)是否可以拦截对联系人列表的访问?
- jakarta-ee - Glassfish (Payara) REST 错误。邮递员请求因 403/401 和自定义令牌过滤器而失败
- android - 当背景缩放时,如何将文本视图放置在基于图像的背景之上?
- laravel - RouteCollection.php 中的 MethodNotAllowedHttpException,如何在 laravel 中使用补丁请求?
- c# - 创建 HTTP Get 请求,使用 c# 或 javascript 成功登录后打开网页并解析响应 URL
- c++ - 我不知道如何实现这个功能
- python - Python 3 中循环、列表推导和映射的性能
- java - java executorservice持久化队列
- html - 无法读取存储在 cookie 中的表单输入类型中的值
- amazon-web-services - 在一次调用中列出来自多个账户的 AWS 实例