我将Google Cloud Big查询服务与Node.js客户端版本1.0x一起使用。我通过功能createQueryJob()
成功创建了工作。此后,在使用getQueryResults()
进行回调创建作业响应时,我使用了事件侦听,例如:
const options = {
query: sqlQuery,
useLegacySql: true,
dryRun: true
};
// this.bigquery is an constructor.
// this.bigquery = new BigQuery({
// projectId: this.projectId,
// keyFilename: this.keyFile,
// });
this.bigquery.createQueryJob(options, function (err, job) {
if (!err) {
// job id such as 731bf23b-5044-4842-894b-4d9f77485d9b
function manualPaginationCallback(err, rows, nextQuery, apiResponse) {
if (nextQuery) {
job.getQueryResults(nextQuery, manualPaginationCallback);
} else {
return Promise.resolve(rows);
}
}
return job.getQueryResults({
maxResults: 100000,
autoPaginate: false,
// timeoutMs : 60000
}, manualPaginationCallback);
}
});
但是抛出错误
{“错误”:{“代码”:404,“消息”:“未找到:工作 [myProjectId]:731bf23b-5044-4842-894b-4d9f77485d9b“,”错误“:[{”消息“:”不 找到:工作 [myProjectId]:731bf23b-5044-4842-894b-4d9f77485d9b“,” domain“:” global“,” reason“:” notFound“}],” status“:” NOT_FOUND“}}}
参考
https://cloud.google.com/nodejs/docs/reference/bigquery/1.0.x/BigQuery#createQueryJob https://cloud.google.com/nodejs/docs/reference/bigquery/1.0.x/Job#getQueryResults
我怎么了?任何帮助。谢谢!
答案 0 :(得分:1)
您正在请求中设置Range("AD1", Range("AD1").End(xlDown)).Value = Evaluate("round(" & Range("AD1", Range("AD1").End(xlDown)).Address & ",4)")
选项,该选项仅验证作业,而实际上不运行查询。 Dryrun作业不会持续存在,这就是为什么在后续请求中找不到您的原因。