Übersicht über Azure SQL-Bindungen für Azure Functions
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
Die Erweiterung für SQL-Bindungen gehört zu einem v4-Erweiterungspaket, das in Ihrer host.json-Projektdatei angegeben ist.
Das Erweiterungspaket wird durch den folgenden Code in Ihrer Datei host.json
angegeben:
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[4.*, 5.0.0)"
}
}
Functions-Runtime
Installieren des Pakets
Die Erweiterung für SQL-Bindungen gehört zu einem v4-Erweiterungspaket, das in Ihrer host.json-Projektdatei angegeben ist.
Das Erweiterungspaket wird durch den folgenden Code in Ihrer Datei host.json
angegeben:
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[4.*, 5.0.0)"
}
}
Installieren des Pakets
Die Erweiterung für SQL-Bindungen gehört zu einem v4-Erweiterungspaket, das in Ihrer host.json-Projektdatei angegeben ist.
Das Erweiterungspaket wird durch den folgenden Code in Ihrer Datei host.json
angegeben:
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[4.*, 5.0.0)"
}
}
Aktualisieren von Paketen
Fügen Sie die Java-Bibliothek für SQL-Bindungen Ihrem Functions-Projekt hinzu, und aktualisieren Sie die Datei pom.xml
in Ihrem Java Azure Functions-Projekt wie im folgenden Codeschnipsel dargestellt:
<dependency>
<groupId>com.microsoft.azure.functions</groupId>
<artifactId>azure-functions-java-library-sql</artifactId>
<version>2.1.0</version>
</dependency>
Sie können das Vorschauerweiterungspaket mit einem Update der pom.xml
-Datei in Ihrem Java Azure Functions-Projekt verwenden, wie im folgenden Codeschnipsel zu sehen ist:
<dependency>
<groupId>com.microsoft.azure.functions</groupId>
<artifactId>azure-functions-java-library-sql</artifactId>
<version>2.1.0-preview</version>
</dependency>
SQL-Verbindungszeichenfolge
Wichtig
Es wird dringend empfohlen, dass verwaltete Identitäten für den Zugriff auf eine Azure SQL-Datenbank mit Azure Functions verwendet werden. 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.
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. Wichtige Schlüsselwörter sind:
Authentication
: Ermöglicht einer Funktion, eine Verbindung mit Azure SQL mit Microsoft Entra herzustellen, einschließlich Active Directory Managed IdentityCommand Timeout
: Ermöglicht einer Funktion, eine bestimmte Zeitspanne in Sekunden zu warten, bevor eine Abfrage beendet wird (Standardwert 30 Sekunden)ConnectRetryCount
: Ermöglicht einer Funktion, automatisch zusätzliche erneute Verbindungsversuche auszuführen, insbesondere für sie serverlose Ebene von Azure SQL Datenbank (Standardwert 1)Pooling
ermöglicht einer Funktion, Verbindungen mit der Datenbank wiederzuverwenden, wodurch die Leistung verbessert werden kann (Standardwerttrue
). Weitere Einstellungen für das Verbindungspooling sindConnection Lifetime
,Max Pool Size
undMin 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
,TEXT
oderIMAGE
werden nicht unterstützt, und Datenupserts schlagen fehl. Diese Typen werden in einer zukünftigen Version von SQL Server entfernt und sind nicht mit der FunktionOPENJSON
kompatibel, die von dieser Azure Functions-Bindung verwendet wird. - Verwenden Sie verwaltete Identitäten anstelle von Benutzernamen und Kennwörtern.
- Concider mithilfe 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