如何使用insert_job

时间:2016-03-07 09:03:00

标签: google-bigquery

我想使用insert方法运行Bigquery SQL查询 我运行以下代码:

JobConfigurationQuery = Google::Apis::BigqueryV2::JobConfigurationQuery
bq = Google::Apis::BigqueryV2::BigqueryService.new

scopes = [Google::Apis::BigqueryV2::AUTH_BIGQUERY]
bq.authorization = Google::Auth.get_application_default(scopes)
bq.authorization.fetch_access_token!

query_config = {query: "select colA from [dataset.table]"}
qr = JobConfigurationQuery.new(configuration:{query: query_config})
bq.insert_job(projectId, qr) 

我收到如下错误:

Caught error invalid: Job configuration must contain exactly one job-specific configuration object (e.g., query, load, extract, spreadsheetExtract), but there were 0:

请告诉我如何使用insert_job方法。

1 个答案:

答案 0 :(得分:0)

我不确定您使用的是哪个客户端库,但insert_job可能需要JobConfiguration。您应该创建其中一个,并将query参数设置为与您创建的JobConfigurationQuery相等。

这是必要的,因为您可以将具有不同类型配置的各种作业(加载,复制,提取)插入到此API方法中,并且它们都采用单个配置类型,其子字段指定有关作业的类型和详细信息插入。

BigQuery文档中的更多信息: