Udostępnij za pośrednictwem


Tworzenie bazy danych w usłudze Azure Cosmos DB for NoSQL przy użyciu języka Python

DOTYCZY: NoSQL

Bazy danych w usłudze Azure Cosmos DB to jednostki zarządzania dla co najmniej jednego kontenera. Przed utworzeniem kontenerów lub zarządzaniem nimi należy najpierw utworzyć bazę danych.

Nazwij bazę danych

W usłudze Azure Cosmos DB baza danych jest analogiczna do przestrzeni nazw. Podczas tworzenia bazy danych nazwa bazy danych tworzy segment identyfikatora URI używanego do uzyskiwania dostępu do zasobu bazy danych i wszystkich zasobów podrzędnych.

Po utworzeniu identyfikator URI bazy danych ma następujący format:

https://<cosmos-account-name>.documents.azure.com/dbs/<database-name>

Utwórz bazę danych

Aby utworzyć bazę danych, wywołaj jedną z następujących metod:

Utwórz bazę danych

Poniższy przykład tworzy bazę danych przy użyciu CosmosClient.create_database metody . Ta metoda zgłasza wyjątek, jeśli baza danych o tej samej nazwie istnieje.

try:
    database = client.create_database(id=DATABASE_ID)
    print(f"Database created: {database.id}")

except CosmosResourceExistsError:
    print("Database already exists.")

Utwórz bazę danych, jeśli jeszcze nie istnieje

Poniższy przykład tworzy bazę danych przy użyciu CosmosClient.create_database_if_not_exists metody . Jeśli baza danych istnieje, ta metoda zwraca ustawienia bazy danych. W porównaniu z poprzednią metodą create ta metoda nie zgłasza wyjątku, jeśli baza danych już istnieje. Ta metoda jest przydatna do unikania błędów w przypadku wielokrotnego uruchamiania tego samego kodu.

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.")

Asynchronicznie tworzenie bazy danych

Bazę danych można również utworzyć asynchronicznie przy użyciu podobnych obiektów i metod w przestrzeni nazw azure.cosmos.aio . Na przykład użyj CosmosClient.create_database metody lub metody "CosmoClient.create_database_if_not_exists ".

Praca asynchroniczna jest przydatna, gdy chcesz wykonać wiele operacji równolegle. Aby uzyskać więcej informacji, zobacz Using the asynchronous client (Używanie klienta asynchronicznego).

Analizowanie odpowiedzi

W powyższych przykładach odpowiedź z żądań to DatabaseProxy, który jest interfejsem umożliwiającym interakcję z określoną bazą danych. Z poziomu serwera proxy możesz uzyskać dostęp do metod wykonywania operacji w bazie danych.

Poniższy przykład przedstawia metodę create_database_if_not_exists zwracającą obiekt bazy danych .

database = client.create_database_if_not_exists(id=DATABASE_ID)
for container in database.list_containers():
    print(f'Container name: {container["id"]}')

Następne kroki

Po utworzeniu bazy danych użyj następnego przewodnika, aby utworzyć kontenery.