Я использую BIGQUERY
в C# и пытаюсь сохранить запрос командой insert во временную таблицу.BigQuery - проверить состояние задания после вызова метода Вставить метод
Когда я запускаю команду j.Insert
, вставка выполняется асинхронно (как следующий код), и я не могу гарантировать, что данные фактически вставлены полностью.
Есть ли способ проверить текущую текущую работу, узнать, когда задание завершено или нет (подождите, пока работа завершена).
Вот мой код (на основании, например, на: Create a table from Select Bigquery
добавить сон (5000) для того, чтобы guartantee, что работа была закончена, но это детерминированное решение
// _bigQueryService is of type: BigQueryService.
// query is the main query (select ...)
JobsResource j = _bigQueryService.Jobs;
Job theJob = new Job();
DateTime n = DateTime.UtcNow;
TableReference _destTempTable = new TableReference
{
ProjectId = "myprojectid",
DatasetId = "myDataSetId",
TableId = "myTempTable")
};
theJob.Configuration = new JobConfiguration()
{
Query = new JobConfigurationQuery()
{
AllowLargeResults = true,
CreateDisposition = "CREATE_IF_NEEDED", /* CREATE_IF_NEEDED, CREATE_NEVER */
DefaultDataset = "myDefaultDataSet",
MaximumBillingTier = 100,
DestinationTable = _destTempTable,
Query = query,
}
};
var resJob = j.Insert(theJob, _settings.ProjetId).Execute();
Thread.Sleep(5000); // *** I need better solution instead this line ****
Новая библиотека? Я исследую проблему с большим количеством запросов меньше месяца. Я проверю это. Я использую v2, но нет функции PollQueryUntilCompleted. Ваш ответ неплохой - мне нужно копать в ссылке, которую вы дали. спасибо. – Eitan