Freigeben über


Ü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

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 (Standardeinstellung true). Weitere Einstellungen für das Verbindungspooling sind Connection Lifetime, Max Pool Size und Min 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 oder IMAGE 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 Funktion OPENJSON kompatibel, 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:

Nächste Schritte