Как я могу добавить список за один раз с помощью BigQuery .NET?C#

Место общения программистов C#
Ответить
Anonymous
 Как я могу добавить список за один раз с помощью BigQuery .NET?

Сообщение Anonymous »

У меня есть код, написанный для BigQuery. Я хочу иметь возможность обновлять все элементы списка, отправляя список. Чтобы меня не заблокировали в BigQuery из-за стоимости запроса и чрезмерного количества запросов, я пытаюсь выполнить обновление, отправляя список за раз и с помощью одного запроса.
Подробнее код, который я написал для .NET, показан ниже. Однако я не смог закончить его и ищу информацию и предложения по решению этой проблемы. Возможно ли это сделать? Если возможно, как и что редактировать? Если нет, то в чем причина?
private async Task UpsertCardHistoryToBigQueryAsync(List recordList)
{
var circuitBreakerPolicy = Policy
.Handle()
.CircuitBreakerAsync(2, TimeSpan.FromMinutes(1));

await circuitBreakerPolicy.ExecuteAsync(async () =>
{
var query = @"
MERGE `{_datasetId}.{_tableId}` AS target
USING UNNEST(@dataList) AS source
ON target.UniqueId = source.UniqueId
WHEN MATCHED THEN
UPDATE SET source..
WHEN NOT MATCHED THEN
INSERT (*)
VALUES(source..);";

var parameters = new List
{
new BigQueryParameter("dataList", BigQueryDbType.Array, recordList)
};

var jobOptions = new QueryOptions { UseQueryCache = false };
var queryJob = await _bigQueryClient.ExecuteQueryAsync(query, parameters, jobOptions);
});
}


Подробнее здесь: https://stackoverflow.com/questions/791 ... gquery-net
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»