Megosztás a következőn keresztül:


Ismerkedés a NoSQL-hez készült Azure Cosmos DB-vel a Python használatával

A KÖVETKEZŐRE VONATKOZIK: NoSQL

Ez a cikk bemutatja, hogyan csatlakozhat az Azure Cosmos DB for NoSQL-hez a Python SDK használatával. A csatlakozás után műveleteket hajthat végre adatbázisokon, tárolókon és elemeken.

Package (PyPi) | Samples | API reference | Library source code | Give Feedback

Előfeltételek

A projekt beállítása

Hozzon létre egy környezetet, amelyben Python-kódot futtathat.

Virtuális környezetben a Python-csomagokat izolált környezetben telepítheti anélkül, hogy a rendszer többi részét érintené.

Telepítse az Azure Cosmos DB for NoSQL Python SDK-t a virtuális környezetben.

pip install azure-cosmos

A Python-alkalmazás létrehozása

A környezetében hozzon létre egy új app.py fájlt, és adja hozzá a következő kódot:

import json
import os
import sys
import uuid

from azure.core.exceptions import AzureError
from azure.cosmos import CosmosClient, PartitionKey

Az előző kód importálja a cikk többi részében használt modulokat.

Csatlakozás az Azure Cosmos DB for NoSQL-hez

Az Azure Cosmos DB NoSQL-hez készült API-hoz való csatlakozáshoz hozza létre az osztály egy példányát CosmosClient . Ez az osztály a kiindulópont az adatbázisokon végzett összes művelet végrehajtásához.

Ha a Microsoft Entra használatával szeretne csatlakozni a NoSQL-fiókhoz készült API-hoz, használjon egy egyszerű biztonsági nevet. Az egyszerűség pontos típusa attól függ, hogy hol tárolja az alkalmazás kódját. Az alábbi táblázat rövid útmutatóként szolgál.

Az alkalmazás futtatásának helye Rendszerbiztonsági tag
Helyi gép (fejlesztés és tesztelés) Felhasználói identitás vagy szolgáltatásnév
Azure Felügyelt identitás
Azure-on kívüli kiszolgálók vagy ügyfelek Szolgáltatásnév

Az Azure.Identity importálása

Az azure-identity csomag az összes Azure SDK-kódtár között megosztott alapvető hitelesítési funkciókat tartalmazza.

Importálja az azure-identity csomagot a környezetébe.

pip install azure-identity

CosmosClient létrehozása az alapértelmezett hitelesítő adatok implementálásával

Ha helyi gépen tesztel, vagy az alkalmazás a felügyelt identitások közvetlen támogatásával fog futni az Azure-szolgáltatásokban, szerezze be az OAuth-jogkivonatot egy DefaultAzureCredential példány létrehozásával.

A app.py:

  • Kérje le a végpontot, hogy csatlakozzon a fiókjához, és állítsa be környezeti változóként COSMOS_ENDPOINT.

  • Importálja a DefaultAzureCredential értéket, és hozzon létre egy példányt.

  • Hozzon létre egy új CosmosClient-példányt az ENDPOINT és a hitelesítő adatok paraméterként.

from azure.identity import DefaultAzureCredential

ENDPOINT = os.environ["COSMOS_ENDPOINT"]

credential = DefaultAzureCredential()

client = CosmosClient(ENDPOINT, credential)

Fontos

A megfelelő szerepkör DefaultAzureCredential hozzáadásáról további információt az Azure Cosmos DB-fiók szerepköralapú hozzáférés-vezérlésének konfigurálása a Microsoft Entra-azonosítóval című témakörben talál. Lásd különösen a szerepkörök létrehozásáról és egy egyszerű azonosítóhoz való hozzárendeléséről szóló szakaszt.

Az alkalmazás összeállítása

Az alkalmazás létrehozásakor a kód elsősorban négy erőforrástípussal fog működni:

  • Az API for NoSQL-fiók, amely az Azure Cosmos DB-adatok egyedi legfelső szintű névtere.

  • Adatbázisok, amelyek rendszerezik a tárolókat a fiókjában.

  • Tárolók, amelyek az adatbázis egyes elemeit tartalmazzák.

  • Elemek, amelyek egy JSON-dokumentumot jelölnek a tárolóban.

Az alábbi ábra az ezen erőforrások közötti kapcsolatot mutatja be.

Az Azure Cosmos DB-hierarchia diagramja, beleértve a fiókokat, adatbázisokat, tárolókat és elemeket.

Hierarchikus diagram egy Azure Cosmos DB-fiókot ábrázol felül. A fióknak két gyermekadatbázis-csomópontja van. Az adatbázis-csomópontok egyike két gyermektároló-csomópontot tartalmaz. A másik adatbáziscsomópont egyetlen gyermektároló-csomópontot tartalmaz. Az egyetlen tárolócsomópont három gyermekelem-csomópontból áll.

Minden erőforrástípust egy vagy több társított Python-osztály jelöl. Íme a szinkron programozás leggyakoribb osztályainak listája. (Az azure.cosmos.aio névtérben hasonló osztályok vannak az aszinkron programozáshoz.)

Osztály Leírás
CosmosClient Ez az osztály ügyféloldali logikai reprezentációt biztosít az Azure Cosmos DB szolgáltatáshoz. Az ügyfélobjektum a szolgáltatással kapcsolatos kérések konfigurálására és végrehajtására szolgál.
DatabaseProxy Egy olyan adatbázis felülete, amely lehet, hogy még létezik a szolgáltatásban. Ezt az osztályt nem szabad közvetlenül példányosítva létrehozni. Ehelyett a CosmosClient get_database_client metódust kell használnia.
ContainerProxy Egy adott Cosmos DB-tárolóval való interakcióra szolgáló felület. Ezt az osztályt nem szabad közvetlenül példányosítva létrehozni. Ehelyett használja a DatabaseProxy get_container_client metódust egy meglévő tároló lekéréséhez, vagy a create_container metódust egy új tároló létrehozásához.

Az alábbi útmutatók bemutatják, hogyan használhatja ezeket az osztályokat az alkalmazás létrehozásához.

Útmutató Leírás
Adatbázis létrehozása Adatbázisok létrehozására
Tároló létrehozása Tárolók létrehozása
Példák elemre Adott elem pontolvasása

Lásd még

Következő lépések