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.