В хранилище таблиц Azure CreateIfNotExists считается транзакцией?

#azure #azure-table-storage

#azure #azure-table-storage

Вопрос:

У нас есть рабочий код, я думаю об оптимизации транзакций, каждый раз, когда мы вставляем что-то в таблицу, вызывается CreateIfNotExists() . Считается ли это транзакцией? У нас есть много таблиц, для каждого клиента несколько, чтобы иметь возможность удалить его одной транзакцией.

Было бы лучшим подходом для вставки данных, и если произойдет сбой с некоторым исключением «Таблица не существует», создайте ее и вставьте данные снова?

Ответ №1:

Каждый раз, когда мы вставляем что-то в таблицу, вызывается CreateIfNotExists() . Считается ли это транзакцией?

ДА. По сути CreateIfNotExists , пытается создать таблицу, перехватывает и сравнивает исключение с Conflict (409) кодом состояния. Поскольку это PUT транзакция, с вас взимается плата за это.

Было бы лучшим подходом для вставки данных, и если произойдет сбой с некоторым исключением «Таблица не существует», создайте ее и вставьте данные снова?

Вы, конечно, можете это сделать. Другой подход (не уверен, сработает ли он для вас) заключается в проверке наличия этих таблиц только при запуске приложения (фактически, это то, что мы делаем в нашем приложении).