Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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>
Connections
La connectionStringSetting propriété est définie sur une clé dans les paramètres de l’application qui renvoie une valeur utilisée par l’exécution des fonctions pour se connecter à la base de données Azure SQL ou SQL Server utilisée par l’extension. La valeur du paramètre de propriété de connexion dépend du type de connexion :
-
Connexion d’identité gérée : La
connectionStringSettingpropriété renvoie une chaîne de connexion qui sertAuthentication=Active Directory Managed Identityà authentifier sans secrets. Vous pouvez utiliser une identité managée affectée par le système ou affectée par l’utilisateur. Pour plus d’informations, voir Connecter une application de fonction à Azure SQL avec identité gérée et Définir les connexions d’identité. -
Référence Key Vault : Le
connectionStringSettingparamètre de propriété renvoie une référence Azure Key Vault à l’emplacement où la chaîne de connexion est centralisée. Pour plus d’informations, voir Définir les connexions Key Vault. -
Référence App Configuration : Le
connectionStringSettingparamètre de propriété renvoie une référence Azure App Configuration qui renvoie une chaîne de connexion ou une référence Key Vault. Pour plus d’informations, consultez Azure App Configuration dans l’article sur les connexions. -
Connection string : Le
connectionStringSettingparamètre de propriété renvoie la chaîne de connexion SQL réelle. Comme la chaîne de connexion peut contenir des identifiants, vous devriez utiliser une connexion d’identité gérée ou au moins stocker la chaîne de connexion dans Key Vault. Pour plus d’informations, voir Définir les connexions.
Pour en savoir plus sur les connexions de liaisons, voir Gérer les connexions dans Azure Functions.
La chaîne de connexion est transmise à Microsoft. Data.SqlClient et prend en charge tous les mots-clés définis dans la documentation SqlClient ConnectionString. Les mots clés notables sont les suivants :
-
Authentication: Connectez-vous à Azure SQL avec Microsoft Entra ID. Réglez surActive Directory Managed Identitypour les identités gérées. Pour plus d’informations, voir Connecter une application fonctionnelle à Azure SQL avec identité managée. -
Command Timeout: Attendre un temps spécifié en secondes avant de terminer une requête (par défaut 30 secondes). -
ConnectRetryCount: Effectuer automatiquement des tentatives de reconnexion supplémentaires, particulièrement applicables au niveau serverless Azure SQL Database (par défaut 1). -
Pooling: Réutiliser les connexions à la base de données pour améliorer les performances (par défauttrue). Les paramètres supplémentaires pour le regroupement de connexions comprennentConnection Lifetime,Max Pool SizeetMin Pool Size. Pour en savoir plus, consultez 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,TEXTouIMAGEne 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 fonctionOPENJSONutilisé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
- 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)
- Exécuter une fonction lorsque des données sont modifiées dans une table SQL (déclencheur)
- Découvrir comment connecter Azure Functions à Azure SQL avec une identité managée