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


Создание базы данных в Azure Cosmos DB для NoSQL с помощью Python

Базы данных в 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"]}')

Дальнейшие шаги

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