Voorbeelden voor Azure Cosmos DB for NoSQL SDK voor Python
VAN TOEPASSING OP: NoSQL
Voorbeeldoplossingen die CRUD-bewerkingen en andere algemene bewerkingen uitvoeren op Azure Cosmos DB-resources, worden opgenomen in de map van de main/sdk/cosmos
GitHub-opslagplaats azure/azure-sdk-for-python . Dit artikel bevat:
- Koppelingen naar de taken in elk van de Python-voorbeeldprojectbestanden.
- Koppelingen naar het bijbehorende API-referentiemateriaal.
Vereisten
- Een Azure Cosmos DB-account. Uw opties zijn:
- Binnen een actief Azure-abonnement:
- Maak een gratis Azure-account of gebruik uw bestaande abonnement
- Maandelijkse tegoeden Visual Studio
- Gratis laag in Azure Cosmos DB
- Zonder een actief Azure-abonnement:
- Probeer Azure Cosmos DB gratis, een testomgeving gedurende 30 dagen.
- Azure Cosmos DB Emulator
- Binnen een actief Azure-abonnement:
- Python 3.7+, met het
python
uitvoerbare bestand in uwPATH
. (Zie voor meer informatie de Ondersteuningsbeleid voor Python-versies van Azure SDK's.) - Visual Studio Code.
- Python-extensie voor Visual Studio Code (Engelstalig).
- Git.
- Azure Cosmos DB for NoSQL SDK for Python
Voorbeelden voor databases
In het database_management.py Python-voorbeeld ziet u hoe u de volgende taken kunt uitvoeren met behulp van CosmosClient-methoden. Zie het conceptuele artikel Werken met databases, containers en items voor meer informatie over de Azure Cosmos DB-databases voordat u de volgende voorbeelden uitvoert.
Opdracht | API-verwijzing |
---|---|
Een database maken | CosmosClient.create_database |
Een database lezen op id | CosmosClient.get_database_client |
Een query uitvoeren op de databases | CosmosClient.query_databases |
Databases voor een account weergeven | CosmosClient.list_databases |
Een database verwijderen | CosmosClient.delete_database |
Voorbeelden van containers
In het container_management.py Python-voorbeeld ziet u hoe u de volgende taken kunt uitvoeren met behulp van DatabaseProxy-methoden. Zie het conceptuele artikel Werken met databases, containers en items voor meer informatie over de Azure Cosmos DB-verzamelingen voordat u de volgende voorbeelden uitvoert.
Opdracht | API-verwijzing |
---|---|
Een query uitvoeren voor een container | database.query_containers |
Een container maken | database.create_container |
Een lijst van alle containers in een database weergeven | database.list_containers |
Een container ophalen op basis van id | database.get_container_client |
Ingerichte doorvoer van de container beheren | container.replace_throughput |
Container verwijderen | database.delete_container |
Voorbeelden van items
De voorbeelden van document_management.py en change_feed_management.py Python laten zien hoe u de volgende taken kunt uitvoeren met behulp van ContainerProxy-methoden. Zie het conceptuele artikel Werken met databases, containers en items voor meer informatie over de Azure Cosmos DB-items voordat u de volgende voorbeelden uitvoert.
Opdracht | API-verwijzing |
---|---|
Items in een container maken | container.create_item |
Een item lezen op basis van id | container.read_item |
Alle items in een container lezen | container.read_all_items |
Een query uitvoeren op een item op basis van id | container.query_items |
Item vervangen | container.replace_item |
Een item invoegen of bijwerken | container.upsert_item |
Item verwijderen | container.delete_item |
De wijzigingsfeed van items in een container ophalen | container.query_items_change_feed |
Voorbeelden van indexen
In het Python-voorbeeld index_management.py ziet u hoe u de volgende taken kunt uitvoeren. Zie de conceptuele artikelen Indexeringsbeleid, Indexeringstypen en Indexeringspaden voor meer informatie over het indexeren in Azure Cosmos DB voordat u de volgende voorbeelden uitvoert.
Opdracht | API-verwijzing |
---|---|
Een specifiek item uitsluiten van indexeren | Documenten.IndexingDirective. Uitsluiten |
Handmatige indexering gebruiken bij specifieke items die zijn geïndexeerd | documents.IndexingDirective.Include |
Paden uitsluiten van indexeren | Paden definiëren die moeten worden uitgesloten in de eigenschap IndexingPolicy |
Bereikindexen voor tekenreeksen gebruiken | Definieer het indexeringsbeleid met bereikindexen voor het gegevenstype Reeks. 'kind': documents.IndexKind.Range , 'dataType': documents.DataType.String |
Een indextransformatie uitvoeren | databank. replace_container (gebruik het bijgewerkte indexeringsbeleid) |
Scans gebruiken wanneer alleen hash-index op het pad bestaat | de enable_scan_in_query=True en enable_cross_partition_query=True instellen bij het opvragen van de items |
Volgende stappen
Wilt u capaciteitsplanning uitvoeren voor een migratie naar Azure Cosmos DB? U kunt informatie over uw bestaande databasecluster gebruiken voor capaciteitsplanning.
- Als alles wat u weet het aantal vCores en servers in uw bestaande databasecluster is, leest u meer over het schatten van aanvraageenheden met behulp van vCores of vCPU's
- Als u typische aanvraagtarieven voor uw huidige databaseworkload kent, leest u meer over het schatten van aanvraageenheden met behulp van azure Cosmos DB-capaciteitsplanner