Freigeben über


Schnellstart: Verwenden von Azure Cosmos DB for MongoDB (RU) mit Python

In dieser Schnellstartanleitung stellen Sie eine einfache Azure Cosmos DB for MongoDB-Anwendung mit Python bereit. Azure Cosmos DB for MongoDB ist ein schemaloser Datenspeicher, mit dem Anwendungen unstrukturierte Dokumente in der Cloud mit MongoDB-Bibliotheken speichern können. Sie erfahren, wie Sie Dokumente und grundlegende Aufgaben in Ihrer Azure Cosmos DB-Ressource mithilfe von Python erstellen.

Bibliotheksquellcode | Package (PyPI) | Azure Developer CLI

Voraussetzungen

  • Azure Developer CLI
  • Docker Desktop
  • Python 3.12

Sollten Sie kein Azure-Konto haben, erstellen Sie zunächst ein kostenloses Konto.

Initialisieren des Projekts

Verwenden Sie die Azure Developer CLI (azd), um ein Azure Cosmos DB for Table-Konto zu erstellen und eine containerisierte Beispielanwendung bereitzustellen. Die Beispielanwendung verwendet die Clientbibliothek zum Verwalten, Erstellen, Lesen und Abfragen von Beispieldaten.

  1. Öffnen Sie ein Terminal in einem leeren Verzeichnis.

  2. Wenn Sie noch nicht authentifiziert sind, authentifizieren Sie sich mithilfe von azd auth login bei der Azure Developer CLI. Führen Sie die vom Tool angegebenen Schritte aus, um sich mit Ihren bevorzugten Azure-Anmeldeinformationen bei der CLI zu authentifizieren.

    azd auth login
    
  3. Verwenden Sie azd init, um das Projekt zu initialisieren.

    azd init --template cosmos-db-mongodb-python-quickstart
    
  4. Konfigurieren Sie während der Initialisierung einen eindeutigen Umgebungsnamen.

  5. Stellen Sie das Azure Cosmos DB-Konto mit azd up bereit. Die Bicep-Vorlagen stellen auch eine Beispielwebanwendung bereit.

    azd up
    
  6. Wählen Sie während des Bereitstellungsprozesses Ihr Abonnement, den gewünschten Standort und die Zielressourcengruppe aus. Warten Sie auf den Abschluss des Bereitstellungsvorgangs. Dieser Prozess kann ca. fünf Minuten dauern.

  7. Sobald die Bereitstellung Ihrer Azure-Ressourcen abgeschlossen ist, enthält die Ausgabe eine URL zur ausgeführten Webanwendung.

    Deploying services (azd deploy)
    
      (✓) Done: Deploying service web
    - Endpoint: <https://[container-app-sub-domain].azurecontainerapps.io>
    
    SUCCESS: Your application was provisioned and deployed to Azure in 5 minutes 0 seconds.
    
  8. Verwenden Sie die URL in der Konsole, um im Browser zu Ihrer Webanwendung zu navigieren. Sehen Sie sich die Ausgabe der ausgeführten App an.

Screenshot der ausgeführten Web-App.

Installieren der Clientbibliothek

Die Clientbibliothek ist über PyPi als pymongo-Paket verfügbar.

  1. Öffnen Sie ein Terminal, und navigieren Sie zum Ordner /src.

    cd ./src
    
  2. Installieren Sie das pymongo-Paket mithilfe von pip install, falls es noch nicht installiert ist.

    pip install pymongo
    
  3. Öffnen Sie die Datei src/requirements.txt, und überprüfen Sie sie, um zu bestätigen, dass der Eintrag pymongo vorhanden sind.

Objektmodell

name Beschreibung
MongoClient Typ, der zum Herstellen einer Verbindung mit MongoDB verwendet wird.
Database Stellt eine Datenbank im Konto dar.
Collection Stellt eine Auflistung innerhalb einer Datenbank im Konto dar.

Codebeispiele

Der Beispielcode in der Vorlage verwendet eine Datenbank mit dem Namen cosmicworks und eine Auflistung mit dem Namen products. Die products-Sammlung enthält Details wie Name, Kategorie, Menge und eindeutiger Bezeichner für jedes Produkt. Die Auflistung verwendet die Eigenschaft /category als Shard-Schlüssel.

Authentifizieren des Clients

Dieses Beispiel erstellt eine neue Instanz des MongoClient-Typs.

connection_string = "<azure-cosmos-db-for-mongodb-connection-string>"

client = MongoClient(connection_string)

Datenbank abrufen

In diesem Beispiel wird eine Instanz des Typs Database mithilfe der get_database-Funktion des Typs MongoClient erstellt.

database = client.get_database("<database-name>")

Sammlung abrufen

In diesem Beispiel wird eine Instanz des Typs Collection mithilfe der get_collection-Funktion des Typs Database erstellt.

collection = database.get_collection("<collection-name>")

Erstellen eines Dokuments

Erstellen Sie mithilfe von collection.update_one ein Dokument in der Sammlung. Mit dieser Methode wird ein Upsertvorgang für das Element ausgeführt, wodurch es effektiv ersetzt wird (sofern schon vorhanden).

new_document = {
    "_id": "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb",
    "category": "gear-surf-surfboards",
    "name": "Yamba Surfboard",
    "quantity": 12,
    "sale": False,
}

filter = {
    "_id": "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb",
    "category": "gear-surf-surfboards"
}
payload = {
    "$set": new_document
}
result = collection.update_one(filter, payload, upsert=True);

Lesen eines Dokuments

Führen Sie einen Punktlesevorgang durch, indem Sie sowohl den eindeutigen Bezeichner (id) als auch die Shardschlüsselfelder verwenden. Verwenden Sie collection.find_one, um das jeweilige Element effizient abzurufen.

filter = {
    "_id": "bbbbbbbb-1111-2222-3333-cccccccccccc",
    "category": "gear-surf-surfboards"
}
existing_document = collection.find_one(filter)

Abfragedokumente

Führen Sie mithilfe von collection.find eine Abfrage für mehrere Elemente in einem Container durch. Diese Abfrage findet alle Elemente in einer angegebenen Kategorie (Shardschlüssel).

filter = {
    "category": "gear-surf-surfboards"
}

matched_documents = collection.find(filter)

for document in matched_documents:
    # Do something with each item

Untersuchen Ihrer Daten

Verwenden Sie die Visual Studio Code-Erweiterung für Azure Cosmos DB, um Ihre MongoDB-Daten zu untersuchen. Sie können Kerndatenbankvorgänge ausführen, einschließlich, aber nicht beschränkt auf:

  • Ausführen von Abfragen mit einem Scrapbook oder dem Abfrage-Editor
  • Ändern, aktualisieren, erstellen und löschen von Dokumenten
  • Importieren von Massendaten aus anderen Quellen
  • Verwalten von Datenbanken und Sammlungen

Weitere Informationen finden Sie unter Verwenden der Visual Studio Code-Erweiterung zum Untersuchen von Azure Cosmos DB for MongoDB-Daten.

Bereinigen von Ressourcen

Wenn Sie die Beispielanwendung oder Ressourcen nicht mehr benötigen, entfernen Sie die entsprechende Bereitstellung und alle Ressourcen.

azd down