Как успешно получить getQueryResults () из 1 задания после createQueryJob () в Google BigQuery? - PullRequest
0 голосов
/ 31 августа 2018

Я использую службу больших запросов Google cloud с клиентом nodejs версии 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);
        }
    });

но выдает ошибку

{"error": {"code": 404, "message": "Not found: Job [MyProjectId]: 731bf23b-5044-4842-894b-4d9f77485d9b " "ошибка": [{ "сообщение":" Не Найдено: Работа [MyProjectId]: 731bf23b-5044-4842-894b-4d9f77485d9b», "домен": "глобальное", "причина": "NotFound"}], "статус": "NOT_FOUND"}}

refrence

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

Что не так со мной? Любая помощь. Спасибо!

1 Ответ

0 голосов
/ 31 августа 2018

Вы устанавливаете опцию dryrun в своем запросе, которая только проверяет работу, но фактически не выполняет запрос. Задания Dryrun не сохраняются, поэтому по следующему запросу вас не найдут.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...