Delen via


Een database maken in Azure Cosmos DB for NoSQL met behulp van Python

VAN TOEPASSING OP: NoSQL

Databases in Azure Cosmos DB zijn beheereenheden voor een of meer containers. Voordat u containers kunt maken of beheren, moet u eerst een database maken.

Een database een naam opgeven

In Azure Cosmos DB is een database vergelijkbaar met een naamruimte. Wanneer u een database maakt, vormt de databasenaam een segment van de URI die wordt gebruikt voor toegang tot de databaseresource en eventuele onderliggende resources.

Zodra de URI voor een database is gemaakt, heeft deze indeling:

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

Een -database maken

Als u een database wilt maken, roept u een van de volgende methoden aan:

Een -database maken

In het volgende voorbeeld wordt een database gemaakt met de CosmosClient.create_database methode. Met deze methode wordt een uitzondering gegenereerd als er een database met dezelfde naam bestaat.

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

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

Een database maken als deze nog niet bestaat

In het volgende voorbeeld wordt een database gemaakt met de CosmosClient.create_database_if_not_exists methode. Als de database bestaat, retourneert deze methode de database-instellingen. Vergeleken met de vorige create-methode genereert deze methode geen uitzondering als de database al bestaat. Deze methode is handig om fouten te voorkomen als u dezelfde code meerdere keren uitvoert.

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

Een database asynchroon maken

U kunt ook asynchroon een database maken met vergelijkbare objecten en methoden in de azure.cosmos.aio-naamruimte . Gebruik bijvoorbeeld de CosmosClient.create_database methode of de methode 'CosmoClient.create_database_if_not_exists '.

Asynchroon werken is handig als u meerdere bewerkingen parallel wilt uitvoeren. Zie De asynchrone client gebruiken voor meer informatie.

Het antwoord parseren

In de bovenstaande voorbeelden is het antwoord van de aanvragen een DatabaseProxy, een interface voor interactie met een specifieke database. Vanuit de proxy hebt u toegang tot methoden voor het uitvoeren van bewerkingen in de database.

In het volgende voorbeeld ziet u de create_database_if_not_exists methode die een databaseobject retourneert.

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

Volgende stappen

Nu u een database hebt gemaakt, gebruikt u de volgende handleiding om containers te maken.