Поделиться через


Создание базы данных в 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"]}')

Следующие шаги

Теперь, когда вы создали базу данных, воспользуйтесь следующим руководством по созданию контейнеров.