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
Important
Il est fortement recommandé d’utiliser des identités managées pour accéder à une base de données Azure SQL Avec Azure Functions. 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 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 DirectoryCommand 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)ConnectRetryCount
permet à 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 (valeurtrue
par défaut). Les paramètres supplémentaires pour le regroupement de connexions comprennentConnection Lifetime
,Max Pool Size
etMin 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
ouIMAGE
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 fonctionOPENJSON
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.
- Concider à l’aide d’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 :
- Exemple d’API ToDo C# avec les liaisons de SQL Azure
- Utiliser des liaisons SQL dans Azure Stream Analytics
- Envoyer des données à partir de Azure SQL avec Python
É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