Vue d’ensemble des liaisons Azure SQL pour Azure Functions

Cet ensemble d’articles explique comment utiliser des liaisons Azure SQL dans Azure Functions. Azure Functions prend en charge les liaisons d’entrée et de sortie et un déclencheur de fonction pour les produits Azure SQL et SQL Server.

Action Type
Déclencher une fonction lorsqu’une modification est détectée sur une table SQL Déclencheur SQL
Lire des données à partir d’une base de données Liaison d’entrée
Enregistrer des données dans une base de données Liaison de sortie

Installer l’extension

Le package NuGet de l’extension que vous installez dépend du mode C# que vous utilisez dans votre application de fonction :

Les fonctions s’exécutent dans un processus de travail C# isolé. Pour en savoir plus, consultez Guide pour l’exécution d’Azure Functions C# dans un processus Worker isolé.

Ajoutez l’extension à votre projet en installant ce package NuGet.

dotnet add package Microsoft.Azure.Functions.Worker.Extensions.Sql

Pour utiliser une préversion du package Microsoft.Azure.Functions.Worker.Extensions.Sq, ajoutez l’indicateur --prerelease à la commande. Vous pouvez afficher la fonctionnalité d’aperçu sur la page de publication des extensions SQL Azure Functions.

dotnet add package Microsoft.Azure.Functions.Worker.Extensions.Sql --prerelease

Remarque

Les changements cassants entre les versions préliminaires des liaisons Azure SQL pour Azure Functions nécessitent que toutes les fonctions ciblant la même base de données utilisent la même version du package d’extension SQL.

Installer le bundle

L’extension des liaisons SQL fait partie de l’offre groupée d’extensionv4, qui est spécifiée dans votre fichier projet host.json.

L’offre groupée d’extension est spécifiée par le code suivant dans votre fichier host.json :

{
  "version": "2.0",
  "extensionBundle": {
    "id": "Microsoft.Azure.Functions.ExtensionBundle",
    "version": "[4.*, 5.0.0)"
  }
}

Runtime Functions

Installer le bundle

L’extension des liaisons SQL fait partie de l’offre groupée d’extensionv4, qui est spécifiée dans votre fichier projet host.json.

L’offre groupée d’extension est spécifiée par le code suivant dans votre fichier host.json :

{
  "version": "2.0",
  "extensionBundle": {
    "id": "Microsoft.Azure.Functions.ExtensionBundle",
    "version": "[4.*, 5.0.0)"
  }
}

Installer le bundle

L’extension des liaisons SQL fait partie de l’offre groupée d’extensionv4, qui est spécifiée dans votre fichier projet host.json.

L’offre groupée d’extension est spécifiée par le code suivant dans votre fichier host.json :

{
  "version": "2.0",
  "extensionBundle": {
    "id": "Microsoft.Azure.Functions.ExtensionBundle",
    "version": "[4.*, 5.0.0)"
  }
}

Mettre à jour des packages

Ajoutez la bibliothèque Java pour les liaisons SQL à votre projet Functions avec une mise à jour du fichier pom.xml de votre projet Java Azure Functions, comme indiqué dans l’extrait de code suivant :

<dependency>
    <groupId>com.microsoft.azure.functions</groupId>
    <artifactId>azure-functions-java-library-sql</artifactId>
    <version>2.1.0</version>
</dependency>

Vous pouvez utiliser le bundle d’extensions en préversion avec une mise à jour du fichier pom.xml dans votre projet Java Azure Functions, comme indiqué dans l’extrait de code suivant :

<dependency>
    <groupId>com.microsoft.azure.functions</groupId>
    <artifactId>azure-functions-java-library-sql</artifactId>
    <version>2.1.0-preview</version>
</dependency>

Chaîne de connexion SQL

Les liaisons Azure SQL pour Azure Functions ont une propriété requise pour la chaîne de connexion sur toutes les liaisons et tous les déclencheurs. Cela transmet la chaîne de connexion à la bibliothèque Microsoft.Data.SqlClient et prend en charge la chaîne de connexion telle que définie dans la documentation de SqlClient ConnectionString. Les mots clés notables sont les suivants :

  • Authentication permet à une fonction de se connecter à Azure SQL avec Microsoft Entra ID, y compris l’identité managée Active Directory
  • Command Timeout permet à une fonction d’attendre la durée spécifiée en secondes avant de mettre fin à une requête (30 secondes par défaut)
  • ConnectRetryCountpermet à une fonction d’effectuer automatiquement des tentatives de reconnexion supplémentaires, en particulier applicables à Azure SQL Database niveau serverless (par défaut 1)
  • Pooling permet à une fonction de réutiliser les connexions à la base de données, ce qui peut améliorer le niveau de performance (valeur true par défaut). Les paramètres supplémentaires pour le regroupement de connexions comprennent Connection Lifetime, Max Pool Size et Min Pool Size. Découvrir le regroupement de connexions dans la documentation ADO.NET

Considérations

  • La liaison Azure SQL prend en charge les versions 4.x et ultérieures du runtime Functions.
  • Le code source pour les liaisons Azure SQL se trouve dans ce dépôt GitHub.
  • Cette liaison requiert une connectivité à une base de données Azure SQL ou SQL Server.
  • Les liaisons de sortie sur des tables avec des colonnes de types de données NTEXT, TEXT ou IMAGE ne sont pas prises en charge, et les upserts de données échouent. Ces types seront supprimés dans une future version de SQL Server et ne sont pas compatibles avec la fonction OPENJSON utilisée par cette liaison d’Azure Functions.

Exemples

Outre les exemples pour C#, Java, JavaScript, PowerShell et Python disponibles dans le dépôt GitHub des liaisons Azure SQL, d’autres sont disponibles dans les exemples Azure :

Étapes suivantes