Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Den här artikeln beskriver hur du ansluter till Azure Cosmos DB för NoSQL med hjälp av Python SDK. När du har anslutit utför du åtgärder på databaser, containrar och objekt.
Paket (PyPi) | API-referens | Källkod | för bibliotekGe feedback
Förutsättningar
- Ett Azure-konto med en aktiv prenumeration. Lär dig hur du skapar ett konto kostnadsfritt.
 - Azure Cosmos DB för NoSQL-konto. Lär dig hur du skapar ett API för NoSQL-konto.
 - Python 3.7 eller senare.
 - Azure Command-Line Interface (CLI) eller Azure PowerShell.
 
Konfigurera projektet
Skapa en miljö för Python-koden.
Använd en virtuell miljö för att installera Python-paket isolerat utan att påverka systemet.
Installera Azure Cosmos DB för NoSQL Python SDK i din virtuella miljö.
pip install azure-cosmos
Skapa Python-programmet
I din miljö skapar du en ny app.py-fil och lägger till den här koden:
import json
import os
import sys
import uuid
from azure.core.exceptions import AzureError
from azure.cosmos import CosmosClient, PartitionKey
Föregående kod importerar moduler som används i resten av artikeln.
Ansluta till Azure Cosmos DB för NoSQL
Om du vill ansluta till Azure Cosmos DB API för NoSQL skapar du en instans av CosmosClient klassen. Den här klassen är utgångspunkten för att utföra alla åtgärder mot databaser.
Om du vill ansluta till ditt API för NoSQL-konto med hjälp av Microsoft Entra använder du ett säkerhetsobjekt. Den exakta typen av huvudnamn beror på var du är värd för programkoden. Följande tabell är en snabbreferensguide.
| Där programmet körs | Säkerhetsprincip | 
|---|---|
| Lokal dator (utveckla och testa) | Användaridentitet eller tjänstens huvudnamn | 
| Blått | Hanterad identitet | 
| Servrar eller klienter utanför Azure | Service Principal | 
Importera Azure.Identity
Paketet azure-identity innehåller grundläggande autentiseringsfunktioner som delas över alla Azure SDK-bibliotek.
Importera paketet azure-identity till din miljö.
pip install azure-identity
Skapa CosmosClient med standardimplementering av autentiseringsuppgifter
Om du testar på en lokal dator eller kör ditt program på Azure-tjänster med stöd för hanterad identitet hämtar du en OAuth-token genom att skapa en DefaultAzureCredential instans.
I din app.py-fil :
Hämta slutpunkten för ditt konto och ange den som miljövariabeln
COSMOS_ENDPOINT.Importera DefaultAzureCredential och skapa en instans av den.
Skapa en ny instans av klassen CosmosClient med ENDPOINT och autentiseringsuppgifter som parametrar.
from azure.identity import DefaultAzureCredential
ENDPOINT = os.environ["COSMOS_ENDPOINT"]
credential = DefaultAzureCredential()
client = CosmosClient(ENDPOINT, credential)
Viktigt!
Mer information om hur du lägger till rätt roll för att aktivera finns DefaultAzureCredentiali Konfigurera rollbaserad åtkomstkontroll med Microsoft Entra-ID för ditt Azure Cosmos DB-konto. Se särskilt avsnittet om hur du skapar roller och tilldelar dem till en huvudidentitet.
Skapa ditt program
När du skapar ditt program interagerar koden främst med fyra typer av resurser:
API:et för NoSQL-kontot, som är det unika toppnivånamnområdet för dina Azure Cosmos DB-data.
Databaser som organiserar containrarna i ditt konto.
Containrar som innehåller en uppsättning enskilda objekt i databasen.
Objekt som representerar ett JSON-dokument i containern.
Det här diagrammet visar relationen mellan dessa resurser.
              
              
            
Hierarkiskt diagram som visar ett Azure Cosmos DB-konto högst upp. Kontot har två underordnade databasnoder. En av databasnoderna innehåller två underordnade containernoder. Den andra databasnoden inkluderar en enda barncontainernod. Den enda behållarnoden har tre barnobjektnoder.
En eller flera associerade Python-klasser representerar resurstypen. Den här listan visar de vanligaste klasserna för synkron programmering. (Det finns liknande klasser för asynkron programmering under namnområdet azure.cosmos.aio .)
| Klass | beskrivning | 
|---|---|
CosmosClient | 
Den här klassen tillhandahåller en logisk representation på klientsidan för Azure Cosmos DB-tjänsten. Klientobjektet konfigurerar och kör begäranden mot tjänsten. | 
DatabaseProxy | 
Ett gränssnitt till en databas som kan, eller inte kunde, finnas i tjänsten ännu. Den här klassen ska inte instansieras direkt. Använd i stället metoden CosmosClient get_database_client . | 
ContainerProxy | 
Ett gränssnitt för att interagera med en specifik Cosmos DB-container. Den här klassen ska inte instansieras direkt. Använd i stället metoden DatabaseProxy get_container_client för att hämta en befintlig container eller metoden create_container för att skapa en ny container. | 
De här guiderna visar hur du använder var och en av dessa klasser för att skapa ditt program.
| Guide | beskrivning | 
|---|---|
| Skapa en databas | Skapa en databas. | 
| Skapa container | Skapa en container. |