我正在使用Perl来驱动BigQuery,我试图插入一个作业,该作业将从查询结果中填充表格。我得到的错误是“缺少必需的参数”。那是哪个参数? (这将是很好,如果错误信息是更具体的)Perl中的BigQuery:将查询数据附加到表中
下面是代码:
$response = $bq->request(
resource => 'jobs',
method => 'insert',
content => {
configuration => {
query => {
query => $query,
destinationTable => {
project_id => $project_id,
dataset_id => $dataset_id,
tableId => $table_id,
},
createDisposition => "CREATE_IF_NEEDED",
writeDisposition => "WRITE_APPEND",
allowLargeResults =>"TRUE",
},
},
},
async => $async,
);
需要注意的是,如果我跳过destinationTable会的一部分,代码工作正常,但是却让导致临时表。所以这个作品:
$response = $bq->request(
resource => 'jobs',
method => 'insert',
content => {
configuration => {
query => {
query => $query,
createDisposition => "CREATE_IF_NEEDED",
writeDisposition => "WRITE_APPEND",
},
},
},
async => $async,
);
任何想法?不要被Perl这样的事实拖延,它的行为与Python相同,只是格式不同。
你试图加入flattenResults?另一个选项 - 检查命名 - projectId,datasetId; flattenResults是可选的,所以最有可能后者 –
我的猜测是你要么一致地将'destinationTable'中的字段作为'projectId','datasetId'和'tableId',或者一致地将它们强调为'project_id',等 –