Параметр хранилища в Azure Cosmos DB постоянно меняется с Неограниченный на Фиксированный при удалении и повторном создании базы данных с использованием API - PullRequest
0 голосов
/ 07 июня 2019

В настоящее время я загружаю нашу базу данных Cosmos с помощью API Azure через консольное приложение C #.Во время этого процесса я удаляю и воссоздаю базу данных, чтобы убедиться, что все существующие ранее данные удалены (это может быть не лучший вариант, но я не увидел вариант усечения всех).Первоначально база данных имеет неограниченную настройку хранилища, как показано ниже.

storage setting on db is set to unlimited

Однако, как только я удаляю и воссоздаю БД, она изменяет опцию хранения на фиксированную, как показано ниже.

storage setting on db is set to fixed after recreate

Я искал исправление, и все, что я могу найти, - это возможность добавить RequestOptions к запросу, который создает базу данных.,К сожалению, это только дает мне возможность редактировать пропускную способность базы данных.

Как мне изменить тип хранилища при повторном создании базы данных?

ОБНОВЛЕНИЕ: Вот как я могу создать базу данных.Утверждение довольно тривиально, поэтому я не включил его в первоначальный пост.


try 
{
    await this.client.DeleteDatabaseAsync(UriFactory.CreateDatabaseUri(environment.Settings.DatabaseName));
}
catch (Exception e) 
{
    Console.WriteLine(e.Message);
}

await this.client.CreateDatabaseIfNotExistsAsync(new Database { Id = environment.Settings.DatabaseName });

1 Ответ

1 голос
/ 07 июня 2019

Вы должны указать ключ раздела для создания неограниченной емкости хранилища

var collection = new DocumentCollection
                {
                    Id = collectionName,
                    DefaultTimeToLive = -1
                };
    collection.PartitionKey.Paths.Add(partitionKey);
    var response = await this.cosmosDbClient.CreateDocumentCollectionIfNotExistsAsync(this.databaseUri, collection, new RequestOptions
                {
                    OfferThroughput = offerThroughput
                });

Спасибо, Шраддха Агравал

...