Создание базы данных в Azure Cosmos DB для NoSQL с помощью .NET
ОБЛАСТЬ ПРИМЕНЕНИЯ: NoSQL
Базы данных в Azure Cosmos DB — это единицы управления для одного или нескольких контейнеров. Прежде чем создавать контейнеры или управлять ими, необходимо сначала создать базу данных.
Имя базы данных
В Azure Cosmos DB база данных аналогична пространству имен. При создании базы данных ее имя формирует сегмент URI, используемого для доступа к ресурсу базы данных и любым дочерним ресурсам.
Ниже приведены краткие правила присвоения имен базам данных.
- Имена баз данных не должны быть пустыми.
- Имена баз данных не могут превышать 256 символов.
После создания URI базы данных имеет следующий формат:
https://<cosmos-account-name>.documents.azure.com/dbs/<database-name>
Совет
Дополнительные сведения об ограничениях имен базы данных см. в разделе "Квоты и ограничения службы"
Создание базы данных
Для создания базы данных вызовите один из следующих методов:
Асинхронное создание базы данных
В примере ниже показано асинхронное создание базы данных.
// New instance of Database class referencing the server-side database
Database database1 = await client.CreateDatabaseAsync(
id: "adventureworks-1"
);
Метод CosmosClient.CreateDatabaseAsync
создает исключение, если база данных с тем же именем уже существует.
Создайте базу данных асинхронно, если ее еще не существует
В следующем примере база данных создается асинхронно, только если ее еще не существует в учетной записи:
// New instance of Database class referencing the server-side database
Database database2 = await client.CreateDatabaseIfNotExistsAsync(
id: "adventureworks-2"
);
Метод CosmosClient.CreateDatabaseIfNotExistsAsync
создает только новую базу данных, если она еще не существует. Этот метод полезен для предотвращения ошибок при многократном выполнении одного и того же кода.
Анализ ответа
Во всех предыдущих примерах ответ на асинхронный запрос сразу приводился к типу Database
. Может потребоваться проанализировать метаданные об ответе, включая заголовки и код состояния HTTP. Истинный тип возвращаемого значения для методов CosmosClient.CreateDatabaseAsync и CosmosClient.CreateDatabaseIfNotExistsAsync — DatabaseResponse
.
В следующем примере показан метод CosmosClient.CreateDatabaseIfNotExistsAsync, возвращающий DatabaseResponse. После возврата можно проанализировать свойства ответа, а затем получить базовый объект Database:
// New instance of Database response class referencing the server-side database
DatabaseResponse response = await client.CreateDatabaseIfNotExistsAsync(
id: "adventureworks-3"
);
// Parse additional response properties
Database database3 = response.Database;
Следующие шаги
Теперь, когда вы создали базу данных, воспользуйтесь следующим руководством по созданию контейнеров.