Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tento článek vysvětluje, jak se připojit ke službě Azure Cosmos DB for NoSQL pomocí sady Python SDK. Po připojení proveďte operace s databázemi, kontejnery a položkami.
Balíček (PyPi) | Referenční informace k | rozhraní APIZdrojový kód | knihovnyVáš názor
Požadavky
- Účet Azure s aktivním předplatným. Přečtěte si, jak si zdarma vytvořit účet.
- Účet služby Azure Cosmos DB pro NoSQL Zjistěte, jak vytvořit účet ROZHRANÍ API pro NoSQL.
- Python 3.7 nebo novější
- Rozhraní Azure Command-Line (CLI) nebo Azure PowerShell.
Nastavení projektu
Vytvořte prostředí pro kód Pythonu.
Pomocí virtuálního prostředí nainstalujte balíčky Pythonu izolovaně, aniž by to ovlivnilo váš systém.
Nainstalujte sadu Azure Cosmos DB for NoSQL Python SDK ve svém virtuálním prostředí.
pip install azure-cosmos
Vytvoření aplikace v Pythonu
Ve svém prostředí vytvořte nový soubor app.py a přidejte tento kód:
import json
import os
import sys
import uuid
from azure.core.exceptions import AzureError
from azure.cosmos import CosmosClient, PartitionKey
Předchozí kód importuje moduly použité ve zbývající části článku.
Připojení ke službě Azure Cosmos DB for NoSQL
Pokud se chcete připojit k rozhraní API služby Azure Cosmos DB pro NoSQL, vytvořte instanci CosmosClient třídy. Tato třída je výchozím bodem pro provádění všech operací s databázemi.
Pokud se chcete připojit k účtu API for NoSQL pomocí Microsoft Entra, použijte objekt zabezpečení. Přesný typ objektu zabezpečení závisí na tom, kde hostujete kód aplikace. Následující tabulka je stručná referenční příručka.
| Kde aplikace běží | Bezpečnostní subjekt |
|---|---|
| Místní počítač (vývoj a testování) | Identita uživatele nebo služební principál |
| Azure | Spravovaná identita |
| Servery nebo klienti mimo Azure | Principal služby |
Import Azure.Identity
Balíček azure-identity poskytuje základní funkce ověřování sdílené napříč všemi knihovnami sady Azure SDK.
Naimportujte azure-identity balíček do svého prostředí.
pip install azure-identity
Vytvoření CosmosClient s výchozí implementací přihlašovacích údajů
Pokud testujete na místním počítači nebo spouštíte aplikaci ve službách Azure s podporou spravované identity, získejte token OAuth vytvořením DefaultAzureCredential instance.
V souboru app.py :
Získejte koncový bod pro váš účet a nastavte ho jako proměnnou
COSMOS_ENDPOINTprostředí .Importujte DefaultAzureCredential a vytvořte jeho instanci.
Vytvořte novou instanci třídy CosmosClient s koncovým bodem a přihlašovacími údaji jako parametry.
from azure.identity import DefaultAzureCredential
ENDPOINT = os.environ["COSMOS_ENDPOINT"]
credential = DefaultAzureCredential()
client = CosmosClient(ENDPOINT, credential)
Důležité
Podrobnosti o přidání správné role, která se má povolit DefaultAzureCredential, najdete v tématu Konfigurace řízení přístupu na základě role pomocí Id Microsoft Entra pro váš účet služby Azure Cosmos DB. Konkrétně si přečtěte části o vytváření rolí a jejich přiřazování k ID hlavního objektu.
Sestavení aplikace
Při vytváření aplikace váš kód primárně komunikuje se čtyřmi typy prostředků:
Rozhraní API pro účet NoSQL, které je jedinečným oborem názvů nejvyšší úrovně pro vaše data v Azure Cosmos DB.
Databáze, které uspořádají kontejnery ve vašem účtu.
Kontejnery, které obsahují sadu jednotlivých položek v databázi.
Položky, které představují dokument JSON ve vašem kontejneru.
Tento diagram znázorňuje vztah mezi těmito prostředky.
Hierarchický diagram znázorňující účet služby Azure Cosmos DB v horní části Účet má dva podřízené databázové uzly. Jeden z databázových uzlů zahrnuje dva podřízené uzly kontejnerové struktury. Druhý databázový uzel obsahuje jeden podřízený uzel kontejneru. Tento jeden uzel kontejneru má tři podřízené uzly položek.
Jedna nebo více přidružených tříd Pythonu představuje typ prostředku. Tento seznam zobrazuje nejběžnější třídy pro synchronní programování. (Existují podobné třídy pro asynchronní programování v rámci oboru názvů azure.cosmos.aio .)
| Třída | Popis |
|---|---|
CosmosClient |
Tato třída poskytuje logickou reprezentaci na straně klienta pro službu Azure Cosmos DB. Objekt klienta konfiguruje a spouští požadavky na službu. |
DatabaseProxy |
Rozhraní pro databázi, která mohla nebo nemohla v této službě ještě existovat. Tato třída by neměla být vytvořena přímo. Místo toho použijte metodu get_database_client CosmosClient. |
ContainerProxy |
Rozhraní pro interakci s konkrétním kontejnerem Cosmos DB. Tato třída by neměla být vytvořena přímo. Místo toho pomocí metody DatabaseProxy get_container_client získejte existující kontejner nebo metodu create_container k vytvoření nového kontejneru. |
Tyto příručky ukazují, jak pomocí každé z těchto tříd sestavit aplikaci.
| Průvodce | Popis |
|---|---|
| Vytvoření databáze | Vytvořte databázi. |
| Vytvoření kontejneru | Vytvořte kontejner. |