Anmerkung
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In dieser Schnellstartanleitung verwenden Sie Visual Studio Code, um eine App zu erstellen, die auf Datenbankänderungen in einer No SQL-Datenbank in Azure Cosmos DB reagiert. Nachdem Sie den Code lokal getestet haben, stellen Sie ihn in einer neuen serverlosen Funktions-App bereit, die Sie in einem Flex-Verbrauchsplan in Azure Functions erstellen.
Die Projektquelle verwendet die Azure Developer CLI-Erweiterung (azd) mit Visual Studio Code, um das Initialisieren und Überprüfen des Projektcodes lokal sowie die Bereitstellung Ihres Codes in Azure zu vereinfachen. Diese Bereitstellung folgt den aktuellen bewährten Methoden für sichere und skalierbare Azure Functions-Bereitstellungen.
Von Bedeutung
Während das Reagieren auf Änderungen in einer Azure Cosmos DB No SQL-Datenbank für alle Sprachen unterstützt wird, enthält dieses Schnellstartszenario derzeit nur Beispiele für C#, Python und TypeScript. Um diese Schnellstartanleitung abzuschließen, wählen Sie oben im Artikel eine dieser unterstützten Sprachen aus.
Voraussetzungen
Ein Azure-Konto mit einem aktiven Abonnement. Kostenlos ein Konto erstellen.
Visual Studio Code auf einer der unterstützten Plattformen
Azure Functions-Erweiterung für Visual Studio Code Diese Erweiterung erfordert Azure Functions Core Tools. Wenn dieses Tool nicht lokal verfügbar ist, versucht die Erweiterung, es mithilfe eines paketbasierten Installers zu installieren. Sie können das Core Tools-Paket auch installieren oder aktualisieren, indem Sie es über die Befehlspalette ausführen
Azure Functions: Install or Update Azure Functions Core Tools. Wenn npm oder Homebrew nicht auf Ihrem lokalen Computer installiert ist, müssen Sie stattdessen Core Tools manuell installieren oder aktualisieren.
C#-Erweiterung für Visual Studio Code.
-
Node.js 18.x oder höher. Verwenden Sie den Befehl
node --version, um Ihre Version zu überprüfen.
Von Azure Functions unterstützte Python-Versionen. Weitere Informationen finden Sie unter Installieren von Python.
Python-Erweiterung für Visual Studio Code
- Die Azure Developer CLI-Erweiterung für Visual Studio Code.
Initialisieren des Projekts
Sie können den azd init Befehl aus der Befehlspalette verwenden, um ein lokales Azure Functions-Codeprojekt aus einer Vorlage zu erstellen.
Öffnen Sie in Visual Studio Code einen Ordner oder Arbeitsbereich, in dem Sie Ihr Projekt erstellen möchten.
Drücken Sie F1 , um die Befehlspalette zu öffnen, den Befehl
Azure Developer CLI (azd): Initialize App (init)zu suchen und auszuführen, und wählen Sie dann "Vorlage auswählen" aus.Es kann eine geringfügige Verzögerung geben, während
azdder aktuelle Ordner oder der aktuelle Arbeitsbereich initialisiert wird.
Wenn Sie dazu aufgefordert werden, wählen Sie eine Vorlage aus, und suchen Sie nach und wählen Sie
Azure Functions with Cosmos DB Bindings (.NET)aus.Wenn Sie dazu aufgefordert werden, geben Sie einen eindeutigen Umgebungsnamen ein, z. B.
cosmosdbchanges-dotnet.Mit diesem Befehl werden die Projektdateien aus dem Vorlagen-Repository abgerufen und das Projekt im aktuellen Ordner oder Arbeitsbereich initialisiert. In
azdwird die Umgebung verwendet, um einen eindeutigen Bereitstellungskontext für Ihre App zu verwalten, und Sie können mehrere definieren. Sie ist auch Teil des Namens der Ressourcengruppe, die Sie in Azure erstellen.
Wenn Sie dazu aufgefordert werden, wählen Sie eine Vorlage aus, und suchen Sie nach und wählen Sie
Azure Functions TypeScript CosmosDB triggeraus.Wenn Sie dazu aufgefordert werden, geben Sie einen eindeutigen Umgebungsnamen ein, z. B.
cosmosdbchanges-ts.Mit diesem Befehl werden die Projektdateien aus dem Vorlagen-Repository abgerufen und das Projekt im aktuellen Ordner oder Arbeitsbereich initialisiert. In
azdwird die Umgebung verwendet, um einen eindeutigen Bereitstellungskontext für Ihre App zu verwalten, und Sie können mehrere definieren. Sie ist auch Teil des Namens der Ressourcengruppe, die Sie in Azure erstellen.
Wenn Sie dazu aufgefordert werden, wählen Sie eine Vorlage aus, und suchen Sie nach und wählen Sie
Azure Functions Python with CosmosDB triggers and bindings...aus.Wenn Sie dazu aufgefordert werden, geben Sie einen eindeutigen Umgebungsnamen ein, z. B.
cosmosdbchanges-py.Mit diesem Befehl werden die Projektdateien aus dem Vorlagen-Repository abgerufen und das Projekt im aktuellen Ordner oder Arbeitsbereich initialisiert. In
azdwird die Umgebung verwendet, um einen eindeutigen Bereitstellungskontext für Ihre App zu verwalten, und Sie können mehrere definieren. Sie ist auch Teil des Namens der Ressourcengruppe, die Sie in Azure erstellen.
Führen Sie diesen Befehl je nach lokalem Betriebssystem aus, um Konfigurationsskripts die erforderlichen Berechtigungen zu erteilen:
Führen Sie diesen Befehl mit ausreichenden Berechtigungen aus:
chmod +x ./infra/scripts/*.sh
Bevor Sie Ihre App lokal ausführen können, müssen Sie die Ressourcen in Azure erstellen. Dieses Projekt verwendet keine lokale Emulation für Azure Cosmos DB.
Erstellen von Azure-Ressourcen
Dieses Projekt ist für die Verwendung des azd provision Befehls zum Erstellen einer Funktions-App in einem Flex-Verbrauchsplan sowie anderen erforderlichen Azure-Ressourcen konfiguriert, die den aktuellen bewährten Methoden entsprechen.
Drücken Sie in Visual Studio Code F1 , um die Befehlspalette zu öffnen, den Befehl
Azure Developer CLI (azd): Sign In with Azure Developer CLIzu suchen und auszuführen, und melden Sie sich dann mit Ihrem Azure-Konto an.Drücken Sie F1 , um die Befehlspalette zu öffnen, suchen Und führen Sie den Befehl
Azure Developer CLI (azd): Provision Azure resources (provision)aus, um die erforderlichen Azure-Ressourcen zu erstellen:Wenn Sie im Terminalfenster aufgefordert werden, geben Sie die folgenden erforderlichen Bereitstellungsparameter an:
Prompt Description Wählen Sie ein Azure-Abonnement aus, das Sie verwenden möchten. Wählen Sie das Abonnement aus, in dem Ihre Ressourcen erstellt werden sollen. Standortbereitstellungsparameter Die Azure-Region, in der die Ressourcengruppe erstellt werden soll, die die neuen Azure-Ressourcen enthält. Es werden nur Regionen angezeigt, die den Flex-Verbrauchsplan derzeit unterstützen. vnetEnabled-Bereitstellungsparameter Während die Vorlage das Erstellen von Ressourcen in einem virtuellen Netzwerk unterstützt, um die Bereitstellung und Tests zu vereinfachen, wählen Sie False.Der
azd provisionBefehl verwendet Ihre Antwort auf diese Eingabeaufforderungen mit den Bicep-Konfigurationsdateien, um diese erforderlichen Azure-Ressourcen zu erstellen und zu konfigurieren, und zwar nach den neuesten bewährten Methoden:- Flex-Verbrauchsplan und Funktions-App
- Azure Cosmos DB-Konto
- Azure Storage (erforderlich) und Application Insights (empfohlen)
- Zugriffsrichtlinien und -rollen für Ihr Konto
- Dienst-zu-Dienst-Verbindungen mit verwalteten Identitäten (anstelle gespeicherter Verbindungszeichenfolgen)
Nach der Bereitstellung generieren Hooks auch die local.settings.json Datei, die bei der lokalen Ausführung erforderlich ist. Diese Datei enthält auch die Einstellungen, die zum Herstellen einer Verbindung mit Ihrer Azure Cosmos DB-Datenbank in Azure erforderlich sind.
Tipp
Sollten während der Bereitstellung Schritte fehlschlagen, können Sie den
azd provisionBefehl erneut ausführen, nachdem Probleme behoben wurden.Nachdem der Befehl erfolgreich abgeschlossen wurde, können Sie Ihren Projektcode lokal ausführen und in der Azure Cosmos DB-Datenbank in Azure auslösen.
Lokales Ausführen der Funktion
Visual Studio Code ist in Azure Functions Core-Tools integriert, damit Sie dieses Projekt auf Ihrem lokalen Entwicklungscomputer ausführen können, bevor Sie sie in Ihrer neuen Funktions-App in Azure veröffentlichen.
Drücken Sie F1 , und suchen Sie in der Befehlspalette nach dem Befehl, und führen Sie den Befehl
Azurite: Startaus.Um die Funktion lokal zu starten, drücken Sie F5, oder klicken Sie auf der Aktivitätsleiste auf der linken Seite auf das Symbol Ausführen und debuggen. Im Terminalbereich wird die Ausgabe aus den Core Tools angezeigt. Ihre App wird im Terminalbereich gestartet, und Sie können den Namen der Lokal ausgeführten Funktion sehen.
Sollten bei der Ausführung unter Windows Probleme auftreten, vergewissern Sie sich, dass das Standardterminal für Visual Studio Code nicht auf WSL Bash festgelegt ist.
Mit Core Tools, die noch im Terminal ausgeführt werden, drücken Sie F1 und suchen Sie in der Befehlspalette nach dem Befehl
NoSQL: Create Item..., führen Sie ihn aus und wählen Sie sowohl diedocument-dbDatenbank als auch dendocumentsContainer aus.Ersetzen Sie den Inhalt der Datei "New Item.json" durch diese JSON-Daten, und wählen Sie "Speichern" aus:
{ "id": "doc1", "title": "Sample document", "content": "This is a sample document for testing my Azure Cosmos DB trigger in Azure Functions." }Nachdem Sie " Speichern" ausgewählt haben, wird die Ausführung der Funktion im Terminal angezeigt, und das lokale Dokument wird aktualisiert, um vom Dienst hinzugefügte Metadaten einzuschließen.
Wenn Sie fertig sind, drücken Sie STRG+C im Terminalfenster, um den
func.exe-Hostprozess zu beenden.
Überprüfen des Codes (optional)
Die Funktion wird basierend auf dem Änderungsfeed in einer Azure Cosmos DB NoSQL-Datenbank ausgelöst. Diese Umgebungsvariablen konfigurieren, wie der Trigger den Änderungsfeed überwacht:
-
COSMOS_CONNECTION__accountEndpoint: Der Cosmos DB-Kontoendpunkt -
COSMOS_DATABASE_NAME: Der Name der zu überwachenden Datenbank -
COSMOS_CONTAINER_NAME: Der Name des zu überwachenden Containers
Diese Umgebungsvariablen werden sowohl in Azure (Funktions-App-Einstellungen) als auch lokal (local.settings.json) während des azd provision Vorgangs erstellt.
Sie können den Code überprüfen, der den Azure Cosmos DB-Trigger in der CosmosTrigger.cs Projektdatei definiert.
Sie können den Code überprüfen, der den Azure Cosmos DB-Trigger in der cosmos_trigger.ts Projektdatei definiert.
Sie können den Code überprüfen, der den Azure Cosmos DB-Trigger in der function_app.py Projektdatei definiert.
Nachdem Sie den Funktionscode lokal überprüft und verifiziert haben, ist es an der Zeit, das Projekt in Azure zu veröffentlichen.
In Azure bereitstellen
Sie können den azd deploy Befehl aus Visual Studio Code ausführen, um den Projektcode in Ihren bereits bereitgestellten Ressourcen in Azure bereitzustellen.
Drücken Sie F1, um die Befehlspalette zu öffnen, suchen und führen Sie den Befehl
Azure Developer CLI (azd): Deploy to Azure (deploy)aus.Der
azd deploy-Befehl paketiert und stellt Ihren Code im Bereitstellungscontainer bereit. Die App wird dann gestartet und im bereitgestellten Paket ausgeführt.Nachdem der Befehl erfolgreich abgeschlossen wurde, wird Ihre App in Azure ausgeführt.
Aufrufen der Funktion in Azure
Drücken Sie in Visual Studio Code F1 , und suchen Sie in der Befehlspalette nach dem Befehl
Azure: Open in portal, wählen SieFunction appaus, und wählen Sie Ihre neue App aus. Melden Sie sich bei Bedarf mit Ihrem Azure-Konto an.Mit diesem Befehl wird Ihre neue Funktions-App im Azure-Portal geöffnet.
Wählen Sie auf der Registerkarte " Übersicht " auf der Hauptseite den Namen der Funktions-App und dann die Registerkarte "Protokolle " aus.
Verwenden Sie den
NoSQL: Create ItemBefehl in Visual Studio Code, um dem Container wie zuvor erneut ein Dokument hinzuzufügen.Überprüfen Sie erneut, ob die Funktion durch eine Aktualisierung im überwachten Container ausgelöst wird.
Erneutes Bereitstellen Ihres Codes
Sie können den azd deploy Befehl so oft ausführen, wie Sie Codeupdates für Ihre Funktions-App bereitstellen müssen.
Hinweis
Bereitgestellte Codedateien werden immer vom neuesten Bereitstellungspaket überschrieben.
Ihre anfänglichen Antworten auf azd-Eingabeaufforderungen und alle von Ihnen generierten azd-Umgebungsvariablen werden lokal in Ihrer benannten Umgebung gespeichert. Verwenden Sie den azd env get-values-Befehl, um alle Variablen in Ihrer Umgebung zu überprüfen, die beim Erstellen von Azure-Ressourcen verwendet wurden.
Bereinigen von Ressourcen
Wenn Sie mit der Arbeit mit Ihrer Funktions-App und verwandten Ressourcen fertig sind, können Sie diesen Befehl verwenden, um die Funktions-App und die zugehörigen Ressourcen aus Azure zu löschen und weitere Kosten zu vermeiden:
azd down --no-prompt
Hinweis
Die --no-prompt-Option weist azd an, Ihre Ressourcengruppe ohne Bestätigung von Ihnen zu löschen.
Dieser Befehl wirkt sich nicht auf Ihr lokales Codeprojekt aus.