Заполните Azure Таблица хранения таблиц в C# - PullRequest
0 голосов
/ 20 марта 2020

Я пытаюсь найти хороший способ, как заполнить Таблицы Azure Табличное хранилище всего один раз C#. Сейчас я создаю нужные мне таблицы при запуске, используя CloudTable.CreateIfNotExistAsyn c () . Я имею в виду, что я мог бы проверить, есть ли начальные записи, которые мне нужны, уже внутри, и если не создать их, но, возможно, есть более умный способ сделать это. Возможно, в C# SDK есть некоторые механизмы, которые я еще не распознал.

1 Ответ

2 голосов
/ 20 марта 2020

Я имею в виду, что я мог бы проверить, есть ли начальные записи, которые мне нужны, уже внутри, и если не создать их, но, возможно, есть более умный способ сделать это. Возможно, C# SDK имеет некоторые механизмы, которые я еще не распознал.

Для вашего сценария я бы порекомендовал InsertOrReplace операцию с сущностями, которая либо создаст сущность если он не существует, или замените его, если он существует.

var account = CloudStorageAccount.Parse("UseDevelopmentStorage=true");// new CloudStorageAccount(new StorageCredentials(accountName, accountKey), true);

var tableClient = account.CreateCloudTableClient();

var table = tableClient.GetTableReference("Customer");
table.CreateIfNotExists();

var entity = new DynamicTableEntity("partitionkey", "rowkey");
entity.Properties.Add("key", new EntityProperty("value"));

var operation = TableOperation.InsertOrReplace(entity);

var result = await table.ExecuteAsync(operation);

Другим вариантом может быть попытка создать сущность и перехватить StorageException, которая будет выброшена, если сущность уже существует.

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