Создание базы данных в Azure Cosmos DB для NoSQL с помощью Python
ОБЛАСТЬ ПРИМЕНЕНИЯ: NoSQL
Базы данных в Azure Cosmos DB — это единицы управления для одного или нескольких контейнеров. Прежде чем создавать контейнеры или управлять ими, необходимо сначала создать базу данных.
Имя базы данных
В Azure Cosmos DB база данных аналогична пространству имен. При создании базы данных ее имя формирует сегмент URI, используемого для доступа к ресурсу базы данных и любым дочерним ресурсам.
После создания URI базы данных имеет следующий формат:
https://<cosmos-account-name>.documents.azure.com/dbs/<database-name>
Создание базы данных
Для создания базы данных вызовите один из следующих методов:
Создание базы данных
В следующем примере создается база данных с CosmosClient.create_database
помощью метода. Этот метод создает исключение, если база данных с тем же именем существует.
try:
database = client.create_database(id=DATABASE_ID)
print(f"Database created: {database.id}")
except CosmosResourceExistsError:
print("Database already exists.")
Создать базу данных, если она еще не существует.
В следующем примере создается база данных с CosmosClient.create_database_if_not_exists
помощью метода. Если база данных существует, этот метод возвращает параметры базы данных. По сравнению с предыдущим методом создания этот метод не создает исключение, если база данных уже существует. Этот метод полезен для предотвращения ошибок при многократном выполнении одного и того же кода.
try:
database = client.create_database_if_not_exists(id=DATABASE_ID)
print(f"Database created or returned: {database.id}")
except CosmosHttpResponseError:
print("Request to the Azure Cosmos database service failed.")
Асинхронное создание базы данных
Вы также можете создать базу данных асинхронно с помощью аналогичного объекта и методов в пространстве имен azure.cosmos.aio . Например, используйте CosmosClient.create_database
метод или метод CosmoClient.create_database_if_not_exists .
Работа асинхронно полезна при параллельном выполнении нескольких операций. Дополнительные сведения см. в разделе "Использование асинхронного клиента".
Анализ ответа
В приведенных выше примерах ответ от запросов — это DatabaseProxy
интерфейс для взаимодействия с определенной базой данных. С прокси-сервера можно получить доступ к методам выполнения операций с базой данных.
В следующем примере показан метод create_database_if_not_exists , возвращающий объект базы данных .
database = client.create_database_if_not_exists(id=DATABASE_ID)
for container in database.list_containers():
print(f'Container name: {container["id"]}')
Следующие шаги
Теперь, когда вы создали базу данных, воспользуйтесь следующим руководством по созданию контейнеров.