App reagiert auf Cosmos-Änderungen? Change Feed konfigurieren
Ein Produktpreis ändert sich und eine andere Komponente braucht den neuen Wert. Ständiges Durchsuchen aller Produkte verbraucht unnötig Datenbankkapazität. Der Cosmos DB Change Feed liefert neue und aktualisierte Dokumente. Ein Logic Apps Standard-Workflow kann diese Änderungen über einen visuellen Trigger empfangen und für jedes geänderte Element eine Aktion ausführen.
Verwende cosmos-ctappeus → appdb → products und product-1 aus dem Trip zur Kontoerstellung. Diese Übung verwendet ausschließlich das Azure-Portal.
Logic App erstellen
Öffne Logic Apps → Add und wähle Standard. Dieser Typ bietet den integrierten Cosmos-DB-Change-Feed-Trigger. Konfiguriere:
Resource group: rg-cloudtrips-feed-test-wus2 (neu)
Logic app name: logic-ctfeedwus2 (global eindeutig)
Region: West US 2
Hosting: Workflow Service Plan
Plan: plan-ctfeedwus2 (neu)
Pricing tier: WS1
Storage account: stctfeedwus2 (neu, global eindeutig)
Verwende öffentlichen Zugriff für die Übung und behalte den standardmäßigen speicherbasierten Workflow-Verlauf. Prüfe Hosting- und Speicherkosten und erstelle die Ressourcen. Der Standard-Plan verursacht auch bei inaktivem Workflow laufende Kapazitätskosten.
Öffne nach der Bereitstellung Workflows → Add, benenne den Workflow product-changes, wähle Stateful und erstelle ihn. Stateful-Workflows speichern Ein- und Ausgaben ihrer Ausführungen zur Prüfung.
Change-Feed-Trigger verbinden
Öffne product-changes → Designer → Add a trigger. Suche Azure Cosmos DB und wähle den Built-in-Trigger When an item is created or modified.
Erstelle die Verbindung cosmos-products mit Connection string-Authentifizierung. Kopiere PRIMARY CONNECTION STRING aus cosmos-ctappeus → Keys in das Zugangsdatenfeld und konfiguriere:
Database Id: appdb
Monitored Container Id: products
Lease Container Id: leases
Create Lease Container: Yes
Lease Container Throughput: 400
Ergänze Lease Container Throughput gegebenenfalls über die erweiterten Parameter. Existiert leases bereits mit Partitionsschlüssel /id, wähle Create Lease Container: No. Leases speichern den Verarbeitungsfortschritt zum späteren Fortsetzen.
Prüfe vor dem Speichern in Cosmos Overview → Total throughput limit. Für eine Region mit dem vorhandenen Autoscale-Maximum von 1000 RU/s plus 400 RU/s für Leases brauchst du 1400 RU/s, für zwei Regionen 2800 RU/s. Prüfe beim Erhöhen die Kostenschätzung.

Prüfe products als überwachten Container und leases als Checkpoint-Container. Halte die Verbindungszeichenfolge außerhalb des Screenshots.
Reaktion ergänzen
Wähle unter dem Trigger Add an action → Data Operations → Compose. Öffne unter Inputs die dynamischen Inhalte und wähle Body des Triggers. Speichere und prüfe, dass der Workflow aktiviert ist.

Prüfe den Ablauf Cosmos-DB-Trigger → Compose. Compose hält das empfangene Dokument in der Ausführungsausgabe fest und macht die Reaktion sichtbar. Ein produktiver Workflow könnte dieses Dokument an einen anderen Dienst weitergeben.
Produktänderung testen
Öffne in Cosmos Data Explorer → appdb → products → Items das Element product-1. Ändere price auf 15, beziehungsweise einen anderen Wert, falls es bereits 15 ist, und wähle Save.
Kehre zu product-changes → Overview → Run history zurück. Aktualisiere bis eine neue Ausführung erscheint, öffne sie und erweitere Compose → Outputs.

Prüfe den Status Succeeded und product-1 mit deinem neuen Preis in der Ausgabe. Das zeigt, dass die Dokumentänderung den Workflow automatisch gestartet hat.
Der Trigger verwendet den Latest-Version-Change-Feed: Er verarbeitet neue und aktualisierte Dokumente und kann Zwischenversionen zusammenfassen. Die Zustellung erfolgt mindestens einmal; produktive Aktionen sollten Wiederholungen sicher behandeln. Ein Feld wie isDeleted: true kann eine Löschung als Aktualisierung abbilden.
Aufräumen
Lösche rg-cloudtrips-feed-test-wus2, um die eigens angelegte Logic App, den Plan und den Speicher zu entfernen. Lösche in Cosmos DB leases, falls ausschließlich diese Übung den Container verwendet, und stelle anschließend das vorherige Durchsatzlimit wieder her. Behalte products und das Cosmos-Konto. Das reine Deaktivieren des Workflows lässt den Hosting-Plan kostenpflichtig bestehen.