Serverlose, ereignisbasierte Architekturen mit Azure Cosmos DB und Azure Functions
GILT FÜR: NoSQL
Azure Functions bietet die einfachste Möglichkeit zum Herstellen einer Verbindung mit dem Änderungsfeed. Sie können kleine reaktive Azure-Funktionen erstellen, die automatisch bei jedem neuen Ereignis im Änderungsfeed Ihres Azure Cosmos DB-Containers ausgelöst werden.
Mit dem Azure Functions-Trigger für Azure Cosmos DB können Sie die Skalierung des Änderungsfeedprozessors sowie die Funktionen zur zuverlässigen Erkennung nutzen, ohne eine Workerinfrastruktur verwalten zu müssen. Sie können sich ganz auf die Logik Ihrer Azure-Funktion konzentrieren, ohne sich um die Pipeline für die Ereignisquellen kümmern zu müssen. Sie können den Trigger auch mit anderen Azure Functions-Bindungen kombinieren.
Hinweis
Der Azure Functions-Trigger verwendet den aktuellen Änderungsfeedmodus. Derzeit wird der Azure Functions-Trigger für Azure Cosmos DB nur für die Verwendung mit der API für NoSQL unterstützt.
Requirements (Anforderungen)
Um einen serverlosen, ereignisbasierten Flow zu implementieren, ist Folgendes erforderlich:
- Der überwachte Container ist der Azure Cosmos DB-Container, in dem die Daten gespeichert werden, anhand derer der Änderungsfeed generiert wird. Alle Einfügungen und Aktualisierungen für den überwachten Container werden im Änderungsfeed des Containers berücksichtigt.
- Leasecontainer: Der Leasecontainer verwaltet den Zustand für mehrere und dynamische serverlose Azure Functions-Instanzen und ermöglicht die dynamische Skalierung. Sie können den Leasecontainer automatisch mit dem Azure Functions-Trigger für Azure Cosmos DB erstellen. Sie können den Leasecontainer auch manuell erstellen. Legen Sie das Flag CreateLeaseContainerIfNotExists in der Konfiguration fest, um den Leasecontainer automatisch zu erstellen. Partitionierte Leasecontainer benötigen die Partitionsschlüsseldefinition
/id
.
Erstellen eines Azure Functions-Triggers für Azure Cosmos DB
Das Erstellen von Azure-Funktionen mit einem Azure Functions-Trigger für Azure Cosmos DB wird jetzt von allen Azure Functions-IDE- und -CLI-Integrationen unterstützt:
- Visual Studio-Erweiterung für Visual Studio-Benutzer
- Visual Studio Code-Erweiterung für Visual Studio-Benutzer
- Und schließlich Core-CLI-Tools für eine plattformübergreifende Umgebung, die unabhängig von der IDE ist
Lokales Ausführen des Triggers
Sie können Ihre Azure-Funktion lokal mit dem Azure Cosmos DB-Emulator ausführen, um Ihre serverlosen, ereignisbasierten Flows ohne ein Azure-Abonnement oder zusätzliche Kosten zu erstellen und zu entwickeln.
Wenn Sie Liveszenarien in der Cloud testen möchten, können Sie Azure Cosmos DB kostenlos testen, ohne eine Kreditkarte oder ein Azure-Abonnement zu benötigen.
Nächste Schritte
In den folgenden Artikeln erfahren Sie mehr über den Änderungsfeed: