我有一组ID(约20万个),需要获取BigQuery表中具有这些ID的所有行。我尝试在Python中构建一个列表,并将其作为参数传递给SQL查询,使用@
,但是我遇到了TypeError:'ArrayQueryParameter' object is not iterable
错误。这是我尝试的代码(非常类似于https://cloud.google.com/bigquery/querying-data#running_parameterized_queries):
id_list = ['id1', 'id2']
query = """
SELECT id
FROM `my-db`
WHERE id in UNNEST(@ids)
"""
query_job = client.run_async_query(
str(uuid.uuid4()),
query,
query_parameters=(
bigquery.ArrayQueryParameter('ids', 'ARRAY<STRING>', id_list)
)
)