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

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 Identity
  • Command 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 (Standardwert 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.
  • 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:

Nächste Schritte