Существуют ли какие-либо издержки использования CreateTableIfNotExists или DoesTableExist с хранилищем таблиц Azure? - PullRequest
0 голосов
/ 25 февраля 2019

Существуют ли какие-либо издержки при использовании CreateTableIfNotExists () при использовании хранилища таблиц Azure?

Если да, то какие издержки?Мне просто интересно, стоит ли всегда оставлять там или нет?

Иначе следует ли вместо этого каждый раз использовать проверку с использованием РазвеTableExist () ?Что предпочтительнее?

1 Ответ

0 голосов
/ 25 февраля 2019

Да, есть.Для одного это добавляет дополнительный http-вызов.Далее под капотом он выполняет Create().Если происходит сбой из-за того, что ресурс с таким именем уже существует, возникает ошибка http 409.Вы также найдете их в журналах, например, в Application Insights.Эта ошибка обнаруживается, и в этом случае возвращается значение true.

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

Один из вариантов может состоять в проверке существования при запуске и записи предупреждения, если его не существует или что-то в этом роде.

...