Partage via


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 Catégorie
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

Pour pouvoir utiliser cette extension de liaison dans votre application, assurez-vous que le fichier host.json à la racine de votre projet contient cette extensionBundle référence :

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

Dans cet exemple, la version valeur de [4.0.0, 5.0.0) l’hôte Functions indique à l’hôte Functions d’utiliser une version groupée qui est au moins 4.0.0 mais inférieure à , qui inclut toutes les versions potentielles 5.0.0de 4.x. Cette notation gère efficacement votre application sur la dernière version mineure disponible de l’offre groupée d’extensions v4.x.

Si possible, vous devez utiliser la dernière version principale de l’offre groupée d’extensions et autoriser le runtime à gérer automatiquement la dernière version mineure. Vous pouvez afficher le contenu de la dernière offre groupée sur la page de publication des offres groupées d’extensions. Pour plus d’informations, consultez les bundles d’extensions Azure Functions.

Si votre application doit utiliser la fonctionnalité d’aperçu, vous devez plutôt référencer la dernière version de l’offre groupée en préversion. Pour plus d’informations, consultez Utiliser les offres groupées d’extensions en préversion.

Vous pouvez afficher la fonctionnalité d’aperçu sur la page de publication des extensions SQL Azure Functions.

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.

Mettre à jour des packages

Ajoutez le package Types SQL Java Azure Functions à votre projet de fonctions avec une mise à jour du pom.xml fichier dans votre projet, comme dans cet exemple :

<dependency>
    <groupId>com.microsoft.azure.functions</groupId>
    <artifactId>azure-functions-java-library-sql</artifactId>
    <version>2.1.0</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.

Important

Pour une sécurité optimale, vous devez utiliser l’ID Microsoft Entra avec des identités managées pour les connexions entre Functions et Azure SQL Database. Les identités managées sécurisent votre application en éliminant les secrets de vos déploiements d’applications, tels que les informations d’identification dans les chaîne de connexion, les noms de serveur et les ports utilisés. Vous pouvez apprendre à utiliser des identités managées dans ce tutoriel, connecter une application de fonction à Azure SQL avec des liaisons d’identité managée et SQL.

Les mots clés notables sont les suivants :

  • Authentication: permet à une fonction de se connecter à Azure SQL avec l’ID Microsoft Entra et les identités managées. Pour plus d’informations, consultez Connecter une application de fonction à Azure SQL avec une identité managée et des liaisons SQL.
  • Command timeout: permet à une fonction d’attendre la durée spécifiée en secondes avant la fin d’une requête (par défaut, 30 secondes)
  • ConnectRetryCount: permet à une fonction d’effectuer automatiquement des tentatives de reconnexion supplémentaires, en particulier applicables au niveau serverless Azure SQL Database (par défaut 1)
  • Pooling: permet à une fonction de réutiliser les connexions à la base de données, ce qui peut améliorer les performances (valeur par défaut true). 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.
  • Utilisez des identités managées plutôt que des noms d’utilisateur et des mots de passe.
  • Envisagez d’utiliser une valeur de clé Azure pour stocker les paramètres d’application.

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