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 Gruppe von Artikeln wird die Verwendung von Azure SQL-Bindungen in Azure Functions erläutert. Azure Functions unterstützt Ein- und Ausgabebindungen und einen Funktionstrigger für die Azure SQL- und SQL Server-Produkte.
| Aktion | type |
|---|---|
| Auslösen einer Funktion bei Erkennung einer Änderung in einer SQL-Tabelle | SQL-Trigger |
| Lesen von Daten aus einer Datenbank | Eingabebindung |
| Speichern von Daten in einer Datenbank | Ausgabebindung |
Installieren der Erweiterung
Das NuGet-Erweiterungspaket, das Sie installieren, hängt vom C#-Modus ab, den Sie in Ihrer Funktions-App verwenden:
Funktionen werden in einem isolierten C#-Workerprozess ausgeführt. Weitere Informationen finden Sie im Leitfaden zum Ausführen von Azure Functions (C#) in einem isolierten Workerprozess.
Fügen Sie ihrem Projekt die Erweiterung hinzu, indem Sie dieses NuGet-Paket installieren.
dotnet add package Microsoft.Azure.Functions.Worker.Extensions.Sql
Um eine Vorschauversion des Microsoft.Azure.Functions.Worker.Extensions.Sql-Pakets zu verwenden, fügen Sie dem Befehl das --prerelease-Flag hinzu. Sie können die Vorschaufunktionen auf der Veröffentlichungsseite der SQL-Erweiterungen für Azure Functions anzeigen.
dotnet add package Microsoft.Azure.Functions.Worker.Extensions.Sql --prerelease
Hinweis
Breaking Changes zwischen Vorschauversionen der Azure SQL-Bindungen für Azure Functions erfordern, dass alle Funktionen, die auf dieselbe Datenbank abzielen, dieselbe Version des SQL-Erweiterungspakets verwenden.
Installieren des Pakets
Um diese Bindungserweiterung in Ihrer App verwenden zu können, stellen Sie sicher, dass die host.json Datei im Stammverzeichnis Ihres Projekts diesen extensionBundle Verweis enthält:
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[4.0.0, 5.0.0)"
}
}
In diesem Beispiel weist der version Wert des [4.0.0, 5.0.0) Funktionenhosts an, eine Bundleversion zu verwenden, die mindestens 4.0.0 aber kleiner ist als 5.0.0, die alle potenziellen Versionen von 4.x enthält. Diese Notation verwaltet Ihre App effektiv auf der neuesten verfügbaren Nebenversion des v4.x-Erweiterungspakets.
Wenn möglich, sollten Sie die neueste Hauptversion des Erweiterungspakets verwenden und der Laufzeit erlauben, die neueste Nebenversion automatisch zu verwalten. Sie können den Inhalt des neuesten Bundles auf der Releaseseite der Erweiterungspakete anzeigen. Weitere Informationen finden Sie unter Azure Functions-Erweiterungspakete.
Wenn Ihre App Vorschaufunktionen verwenden muss, sollten Sie stattdessen auf die neueste Version des Vorschaupakets verweisen. Weitere Informationen finden Sie unter "Arbeiten mit Vorschauerweiterungspaketen".
Sie können die Vorschaufunktionen auf der Veröffentlichungsseite der SQL-Erweiterungen für Azure Functions anzeigen.
Hinweis
Breaking Changes zwischen Vorschauversionen der Azure SQL-Bindungen für Azure Functions erfordern, dass alle Funktionen, die auf dieselbe Datenbank abzielen, dieselbe Version des SQL-Erweiterungspakets verwenden.
Aktualisieren von Paketen
Fügen Sie dem Funktionsprojekt das Azure Functions Java SQL Types-Paket mit einer Aktualisierung der pom.xml Datei in Ihrem Projekt hinzu, wie im folgenden Beispiel gezeigt:
<dependency>
<groupId>com.microsoft.azure.functions</groupId>
<artifactId>azure-functions-java-library-sql</artifactId>
<version>2.1.0</version>
</dependency>
SQL-Verbindungszeichenfolge
Azure SQL-Bindungen für Azure Functions enthalten eine erforderliche Eigenschaft für die Verbindungszeichenfolge in allen Bindungen und Triggern. Diese Bindungen übergeben die Verbindungszeichenfolge an die Microsoft.Data.SqlClient-Bibliothek und unterstützen die Verbindungszeichenfolge wie in der Dokumentation zu SqlClient ConnectionString definiert.
Wichtig
Um optimale Sicherheit zu gewährleisten, sollten Sie Microsoft Entra-ID mit verwalteten Identitäten für Verbindungen zwischen Funktionen und Azure SQL-Datenbank verwenden. Verwaltete Identitäten sorgen dafür, dass Ihre App sicherer wird, indem geheime Schlüssel aus Ihren Anwendungsbereitstellungen wie Anmeldeinformationen in den Verbindungszeichenfolge s, Servernamen und verwendeten Ports entfernt werden. In diesem Lernprogramm erfahren Sie, wie Sie verwaltete Identitäten verwenden, eine Funktions-App mit Azure SQL mit verwalteter Identität und SQL-Bindungen verbinden.
Wichtige Schlüsselwörter sind:
-
Authentication: ermöglicht es einer Funktion, eine Verbindung mit Azure SQL mit Microsoft Entra-ID und verwalteten Identitäten herzustellen. Weitere Informationen finden Sie unter Verbinden einer Funktions-App mit Azure SQL mit verwalteter Identität und SQL-Bindungen. -
Command timeout: Ermöglicht es einer Funktion, auf die angegebene Zeitspanne in Sekunden zu warten, bevor eine Abfrage beendet wird (Standard 30 Sekunden) -
ConnectRetryCount: ermöglicht es einer Funktion, automatisch zusätzliche Wiederholungsversuche vorzunehmen, insbesondere für Azure SQL-Datenbank serverlose Ebene (Standard 1) -
Pooling: ermöglicht es einer Funktion, Verbindungen mit der Datenbank wiederzuverwenden, wodurch die Leistung verbessert werden kann (Standardeinstellungtrue). Weitere Einstellungen für das Verbindungspooling sindConnection Lifetime,Max Pool SizeundMin Pool Size. Weitere Informationen zum Verbindungspooling finden Sie in der ADO.NET-Dokumentation.
Überlegungen
- Azure SQL-Bindungen unterstützen Version 4.x und höher der Functions-Runtime.
- Den Quellcode für die Azure SQL-Bindungen finden Sie in diesem GitHub-Repository.
- Diese Bindung erfordert eine Verbindung mit einer Azure SQL- oder SQL Server-Datenbank.
- Ausgabebindungen für Tabellen mit Spalten der Datentypen
NTEXT,TEXToderIMAGEwerden nicht unterstützt, und Datenupserts schlagen fehl. Diese Typen werden in einer zukünftigen Version von SQL Server entfernt und sind nicht mit der FunktionOPENJSONkompatibel, die von dieser Azure Functions-Bindung verwendet wird. - Verwenden Sie verwaltete Identitäten anstelle von Benutzernamen und Kennwörtern.
- Erwägen Sie die Verwendung eines Azure Key Value zum Speichern von Anwendungseinstellungen.
Beispiele
Zusätzlich zu den Beispielen für C#, Java, JavaScript, PowerShell und Python, die im GitHub-Repository für Azure SQL-Bindungen verfügbar sind, finden Sie weitere Informationen in den Azure-Beispielen:
- C#-ToDo-API-Beispiel mit Azure SQL-Bindungen
- Verwenden von SQL-Bindungen in Azure Stream Analytics
- Senden von Daten aus Azure SQL mit Python