Hinweis
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 Änderungen in einer Azure SQL-Datenbanktabelle reagiert. Nachdem Sie den Code lokal getestet haben, stellen Sie ihn in einer neuen serverlosen Funktions-App bereit, die in einem Flex-Verbrauchsplan in Azure Functions ausgeführt wird.
Die Projektquelle verwendet die Azure Developer CLI-Erweiterung (azd) mit Visual Studio Code, um das Initialisieren und Überprüfen des Projektcodes lokal zu vereinfachen und Ihren Code in Azure bereitzustellen. 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 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.
- Die SQL Server-Erweiterung (mssql) 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.Wenn Sie dazu aufgefordert werden, suchen Sie nach
Azure Functions with SQL Triggers and Bindingsund wählen Sie es aus.Wenn Sie dazu aufgefordert werden, geben Sie einen eindeutigen Umgebungsnamen ein, wie z.B.
sqldbchanges.
Mit diesem Befehl werden die Projektdateien aus dem Vorlagen-Repository abgerufen und das Projekt im aktuellen Ordner oder Arbeitsbereich initialisiert. In azd wird 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.
Mit diesem Befehl werden die Projektdateien aus dem Vorlagen-Repository abgerufen und das Projekt im aktuellen Ordner oder Arbeitsbereich initialisiert. In azd wird 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.
Mit diesem Befehl werden die Projektdateien aus dem Vorlagen-Repository abgerufen und das Projekt im aktuellen Ordner oder Arbeitsbereich initialisiert. In azd wird 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.
Bevor Sie Ihre App lokal ausführen können, müssen Sie die Ressourcen in Azure erstellen.
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 provision Befehl 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 SQL-Datenbank (Standardname: ToDo)
- 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 für die lokale Ausführung erforderlich ist. Diese Datei enthält die Einstellungen, die zum Herstellen einer Verbindung mit Ihrer Datenbank in Azure erforderlich sind.
Überprüfen des Codes (optional)
Im Beispiel werden zwei Funktionen definiert:
| Funktionsname | Codedatei | Triggertyp | Description |
|---|---|---|---|
httptrigger-sql-output |
sql_output_http_trigger.cs | HTTP-Trigger | Akzeptiert eine ordnungsgemäß formatierte JSON-Nutzlast und verwendet die SQL-Ausgabebindung, um das Objekt als Zeile in die ToDo Tabelle einzufügen. |
ToDoTrigger |
sql_trigger.cs | SQL-Trigger | Überwacht die ToDo Tabelle auf Änderungen auf Zeilenebene und gibt ein Objekt zurück, das die geänderte Zeile darstellt. |
Der ToDoItem Typ wird in ToDoItem.cs definiert.
| Funktionsname | Codedatei | Triggertyp | Description |
|---|---|---|---|
http_trigger_sql_output |
function_app.py | HTTP-Trigger | Akzeptiert eine ordnungsgemäß formatierte JSON-Nutzlast und verwendet die SQL-Ausgabebindung, um das Objekt als Zeile in die ToDo Tabelle einzufügen. |
httptrigger-sql-output |
sql_trigger_todo | SQL-Trigger | Überwacht die ToDo Tabelle auf Änderungen auf Zeilenebene und gibt ein Objekt zurück, das die geänderte Zeile darstellt. |
Der ToDoItem Typ wird in todo_item.py definiert.
| Funktionsname | Codedatei | Triggertyp | Description |
|---|---|---|---|
httpTriggerSqlOutput |
sql_output_http_trigger.ts | HTTP-Trigger | Akzeptiert eine ordnungsgemäß formatierte JSON-Nutzlast und verwendet die SQL-Ausgabebindung, um das Objekt als Zeile in die ToDo Tabelle einzufügen. |
sqlTriggerToDo |
sql_trigger.ts | SQL-Trigger | Überwacht die ToDo Tabelle auf Änderungen auf Zeilenebene und gibt ein Objekt zurück, das die geänderte Zeile darstellt. |
Der ToDoItem Typ wird in ToDoItem.ts definiert.
Beide Funktionen verwenden die Umgebungsvariablen auf App-Ebene AZURE_SQL_CONNECTION_STRING_KEY_* , die eine identitätsbasierte Verbindung mit der Azure SQL-Datenbankinstanz mithilfe der Microsoft Entra ID-Authentifizierung definieren. Diese Umgebungsvariablen werden sowohl in Azure (Funktions-App-Einstellungen) als auch lokal (local.settings.json) während des azd provision Vorgangs erstellt.
Herstellen einer Verbindung mit der SQL-Datenbank
Sie können die SQL Server-Erweiterung (mssql) für Visual Studio Code verwenden, um eine Verbindung mit der neuen Datenbank herzustellen. Diese Erweiterung hilft Ihnen, Aktualisierungen in der ToDo Tabelle vorzunehmen, um die SQL-Triggerfunktion auszuführen.
Drücken Sie F1 , und suchen Sie in der Befehlspalette nach dem Befehl, und führen Sie den Befehl
MS SQL: Add Connectionaus.Ändern Sie im Dialogfeld "Verbindung"den Eingabetyp in "Azure durchsuchen ", und legen Sie dann die folgenden verbleibenden Optionen fest:
Option Wählen Sie Description Server Ihre SQL Server-Instanz Standardmäßig werden alle Server angezeigt, auf die Für Ihr Azure-Konto zugegriffen werden kann. Verwenden Sie "Abonnement", "Ressourcengruppe" und "Speicherort ", um die Serverliste zu filtern. Datenbank ToDoDie Datenbank, die während des Bereitstellungsprozesses erstellt wurde. Authentifizierungstyp Microsoft Entra-ID Wenn Sie noch nicht angemeldet sind, wählen Sie "Anmelden" aus, und melden Sie sich bei Ihrem Azure-Konto an. Mandanten-ID Der spezifische Kontomandant. Wenn Ihr Konto über mehrere Mandanten verfügt, wählen Sie den richtigen Mandanten für Ihr Abonnement aus. Wählen Sie "Verbinden" aus, um eine Verbindung mit Ihrer Datenbank herzustellen. Die Verbindung verwendet Ihr lokales Benutzerkonto, dem auf dem Hosting-Server Administratorberechtigungen zugewiesen werden und das in der Datenbank auf
dboabgebildet wird.Suchen Sie und erweitern Sie in der SQL Server-AnsichtVerbindungen und dann Ihren neuen Server im SQL Server-Explorer. Erweitern Sie Tabellen , und überprüfen Sie, ob die
ToDoTabelle vorhanden ist. Wenn es nicht existiert, müssen Sie möglicherweiseazd provisionerneut ausführen und auf Fehler überprüfen.
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.
Wenn die App ausgeführt wird, können Sie beide Funktionstrigger überprüfen und debuggen.
So überprüfen Sie die HTTP-Triggerfunktion, die in eine SQL-Ausgabebindung schreibt:
Kopieren Sie dieses JSON-Objekt, das Sie auch in der
test.httpProjektdatei finden können:{ "id": "11111111-1111-1111-1111-111111111111", "order": 1, "title": "Test Todo Item", "url": "https://example.com", "completed": false }Diese Daten stellen eine Zeile dar, die Sie in Ihre SQL-Datenbank einfügen, wenn Sie den HTTP-Endpunkt aufrufen. Die Ausgabebindung übersetzt das Datenobjekt in einen
INSERTVorgang in der Datenbank.Wenn die App ausgeführt wird, erweitern Sie in der Azure-Ansicht unter Arbeitsbereich das lokale Projekt> und Funktionen.
Wählen Sie ihre HTTP-Funktion mit der rechten Maustaste aus (oder strg+klicken Sie auf macOS), wählen Sie jetzt die Execute-Funktion aus, fügen Sie die kopierten JSON-Daten ein, und drücken Sie die EINGABETASTE.
Die Funktion verarbeitet die HTTP-Anforderung und schreibt das Element in die verbundene SQL-Datenbank und gibt das erstellte Objekt zurück.
Wählen Sie im SQL Server-Explorer mit der rechten Maustaste die
ToDoTabelle aus (oder Strg+Klick auf macOS), und wählen Sie Top 1000 auswählen. Wenn die Abfrage ausgeführt wird, wird die eingefügte oder aktualisierte Zeile zurückgegeben.Wiederholen Sie Schritt 3, und senden Sie dasselbe Datenobjekt mit derselben ID erneut. Diesmal führt die Ausgabebindung einen
UPDATEVorgang anstelle einerINSERTOperation durch und ändert die vorhandene Zeile in der Datenbank.
Wenn Sie fertig sind, geben Sie STRG+C im Terminal ein, um den Prozess "Core Tools" zu beenden.
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. Notieren Sie sich den
EndpointWert, bei dem es sich um die URL Ihrer Funktions-App handelt, die in Azure ausgeführt wird.
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.Wählen Sie im linken Bereich " Protokolldatenstrom" aus, der eine Verbindung mit den Application Insights-Protokollen für Ihre App herstellt.
Kehren Sie zu Visual Studio Code zurück, um beide Funktionen in Azure auszuführen.
Drücken Sie F1, um die Befehlspalette zu öffnen, suchen und führen Sie den Befehl
Azure Functions: Execute Function Now...aus.Suchen und wählen Sie Ihre Remote-Funktions-App aus der Liste aus, und wählen Sie dann die HTTP-Triggerfunktion aus.
Fügen Sie wie zuvor Ihre JSON-Objektdaten in das Eingabefeld für den Payload-Körper ein und drücken Sie die EINGABETASTE.
{ "id": "11111111-1111-1111-1111-111111111111", "order": 1, "title": "Test Todo Item", "url": "https://example.com", "completed": false }Ersetzen Sie zum Ausführen eines
INSERTanstelle einesUPDATEdenid-Wert durch einen neuen GUID-Wert.Kehren Sie zum Portal zurück, und zeigen Sie die Ausführungsausgabe im Protokollfenster an.
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.