Se connecter à une base de données SQL à partir de workflows dans Azure Logic Apps
S’applique à : Azure Logic Apps (Consommation + Standard)
Ce guide pratique explique comment accéder à votre base de données SQL à partir d’un workflow dans Azure Logic Apps avec le connecteur SQL Server. Vous pouvez ensuite créer des workflows automatisés qui s’exécutent quand ils sont déclenchés par des événements dans votre base de données SQL ou dans d’autres systèmes, et exécuter des actions pour gérer vos données et ressources SQL.
Par exemple, votre workflow peut exécuter des actions qui obtiennent, insèrent et suppriment des données ou qui peuvent exécuter des requêtes et procédures stockées SQL. Votre workflow peut rechercher de nouveaux enregistrements dans une base de données non SQL, effectuer un traitement, utiliser les résultats pour créer de nouveaux enregistrements dans votre base de données SQL, et envoyer des alertes par e-mail concernant les nouveaux enregistrements.
Si vous débutez avec Azure Logic Apps, consultez la documentation de prise en main suivante :
Créer un exemple de workflow d’application logique Standard dans Azure Logic Apps à locataire unique
Éditions de SQL prises en charge
Le connecteur SQL Server prend en charge les éditions SQL suivantes :
Référence technique du connecteur
Le connecteur SQL Server a différentes versions, en fonction du type d’application logique et de l’environnement hôte.
Application logique | Environnement | Version du connecteur |
---|---|---|
Consommation | Azure Logic Apps multilocataire | Connecteur managé, qui apparaît dans la galerie de connecteurs sous Runtime>Partagé. Pour plus d’informations, consultez la documentation suivante : - Référence du connecteur managé SQL Server - Connecteurs managés dans Azure Logic Apps |
Standard | Azure Logic Apps monolocataire et App Service Environment v3 (plans Windows uniquement) | Le connecteur managé apparaissant dans la galerie de connecteurs sous Runtime>Partagé, ainsi que le connecteur intégré qui apparaît dans la galerie de connecteurs sous Runtime>Dans l’application et qui est basé sur le fournisseur de services. Le connecteur intégré diffère des façons suivantes : - Le connecteur intégré peut se connecter directement à une base de données SQL et accéder à des réseaux virtuels Azure à l’aide d’une chaîne de connexion sans passerelle de données locale. Pour plus d’informations, consultez la documentation suivante : - Référence du connecteur managé SQL Server - Informations de référence du connecteur intégré SQL Server - Connecteurs intégrés dans Azure Logic Apps |
Limites
Pour plus d’informations, consultez la référence du connecteur managé SQL Server ou la référence du connecteur intégré SQL Server.
Prérequis
Un compte et un abonnement Azure. Si vous n’avez pas encore d’abonnement, vous pouvez vous inscrire pour obtenir un compte Azure gratuitement.
base de données SQL Server, Azure SQL Database ou SQL Managed Instance.
Le connecteur SQL Server nécessite que vos tables contiennent des données afin que les opérations de connecteur puissent retourner des résultats lorsqu’elles sont appelées. Par exemple, si vous utilisez Azure SQL Database, vous pouvez utiliser les exemples de bases de données inclus pour essayer les opérations de connecteur SQL Server.
Informations requises pour créer une connexion de base de données SQL, comme vos noms de serveur et de base de données SQL. Si vous utilisez l’authentification Windows ou l’authentification SQL Server pour authentifier l’accès, vous avez également besoin de votre nom d’utilisateur et de votre mot de passe. Ces informations se trouvent généralement dans votre chaîne de connexion.
Important
Si vous utilisez une chaîne de connexion SQL Server que vous avez copiée directement à partir du portail Azure, vous devez ajouter manuellement votre mot de passe à la chaîne de connexion. Pour les informations sensibles, telles que cette chaîne, veillez à utiliser le flux d’authentification le plus sécurisé disponible. Microsoft recommande d’authentifier l’accès aux ressources Azure à l’aide d’une identité managée lorsque cela est possible, et d’attribuer un rôle ayant les privilèges les moins élevés possibles.
Si cette fonctionnalité n’est pas disponible, veillez à sécuriser les chaînes de connexion par d’autres mesures, telles que Azure Key Vault, que vous pouvez utiliser avec des paramètres d’application dans les flux de travail standard. Vous pouvez ensuite référencer directement des chaînes sécurisées, telles que des chaînes de connexion et des clés. Comme pour les modèles ARM, où vous pouvez définir des variables d’environnement au moment du déploiement, vous pouvez définir les paramètres de l’application dans la définition du flux de travail de l’application logique standard. Vous pouvez ensuite capturer des valeurs d’infrastructure générées dynamiquement, comme des points de terminaison de connexion, des chaînes de stockage, etc. Pour plus d’informations, consultez Types d’application pour la plateforme d’identités Microsoft.
Pour une base de données SQL dans Azure, la chaîne de connexion a le format suivant :
Server=tcp:{your-server-name}.database.windows.net,1433;Initial Catalog={your-database-name};Persist Security Info=False;User ID={your-user-name};Password={your-password};MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;
Pour trouver cette chaîne dans le portail Azure, ouvrez votre base de données.
Dans le menu de la base de données, sous Propriétés, sélectionnez Chaînes de connexion.
Pour un serveur SQL local, la chaîne de connexion a le format suivant :
Server={your-server-address};Database={your-database-name};User Id={your-user-name};Password={your-password};
Dans les flux de travail Standard, pour utiliser les déclencheurs intégrés SQL, vous devez activer le suivi des modifications dans la table où vous souhaitez utiliser le déclencheur. Pour plus d’informations, consultez Activer et désactiver le suivi des modifications.
Le workflow d’application logique où vous souhaitez accéder à votre base de données SQL. Pour démarrer votre flux de travail avec un déclencheur SQL Server, vous devez commencer par un flux de travail vide. Pour utiliser une action SQL Server, démarrez votre flux de travail avec n’importe quel déclencheur.
Pour vous connecter à un serveur SQL local, les exigences supplémentaires suivantes s’appliquent, selon que vous disposez d’un workflow d’application logique Consommation ou Standard.
Workflow Consommation
Dans un service Azure Logic Apps multilocataire, vous avez besoin de la passerelle de données locale installée sur un ordinateur local et d’une ressource de passerelle de données qui est déjà créée dans Azure.
Workflow Standard
Vous pouvez utiliser le connecteur intégré SQL Server ou le connecteur managé.
Pour utiliser l’authentification Microsoft Entra ou l’authentification par identité managée avec votre application logique, vous devez configurer votre SQL Server pour qu’il utilise ces types d’authentification. Pour plus d’informations, consultez Authentification - Informations de référence du connecteur managé SQL Server.
Pour utiliser le connecteur intégré, vous pouvez authentifier votre connexion en utilisant une identité managée, Microsoft Entra ID ou une chaîne de connexion. Vous pouvez ajuster le regroupement de connexions en spécifiant des paramètres dans la chaîne de connexion. Pour plus d’informations, consultez Regroupement de connexions.
Pour utiliser le connecteur managé SQL Server, répondez aux mêmes exigences que pour un workflow d’application logique de Consommation dans un service Azure Logic Apps multilocataire. Pour les autres exigences du connecteur, consultez la référence du connecteur managé SQL Server.
Ajouter un déclencheur SQL Server
Les étapes suivantes utilisent le portail Azure, mais avec l’extension Azure Logic Apps appropriée, vous pouvez également utiliser les outils suivants pour créer des flux de travail d’application logique :
Workflow Consommation : Visual Studio ou Visual Studio Code
Workflow Standard : Visual Studio Code
Sur le portail Azure, ouvrez votre workflow d’application logique Consommation et un workflow vide dans le concepteur.
Dans le concepteur, sous la zone de recherche, sélectionnez Standard. Ensuite, suivez ces étapes générales pour ajouter le déclencheur managé SQL Server de votre choix.
Cet exemple continue avec le déclencheur nommé Lors de la création d’un élément.
Si vous y êtes invité, fournissez les informations de votre connexion. Sélectionnez Créer lorsque vous avez terminé.
Une fois la zone d’informations du déclencheur affichée, fournissez les informations nécessaires requises par votre déclencheur sélectionné.
Pour cet exemple, dans le déclencheur nommé Lorsqu’un élément est créé, fournissez les valeurs pour le nom du serveur SQL et le nom de la base de données, si vous ne les avez pas précédemment fournis. Sinon, dans la liste Noms de table, sélectionnez la table que vous souhaitez utiliser. Sélectionnez la Fréquence et l’Intervalle pour définir la planification du déclencheur afin de vérifier les nouveaux éléments.
Si d’autres propriétés sont disponibles pour ce déclencheur, ouvrez la liste Ajouter de nouveaux paramètres, puis sélectionnez ces propriétés pertinentes pour votre scénario.
Ce déclencheur ne renvoie qu’une seule ligne de la table sélectionnée. Pour effectuer d’autres tâches, continuez en ajoutant une action du connecteur SQL Server ou une autre action qui effectue la tâche suivante que vous souhaitez dans votre flux de travail d’application logique.
Par exemple, pour afficher les données de cette ligne, vous pouvez ajouter d’autres actions qui créent un fichier qui comprend les champs de la ligne retournée, puis envoient des alertes par e-mail. Pour en savoir plus sur les autres actions disponibles pour ce connecteur, consultez la référence du connecteur managé SQL Server.
Lorsque vous avez terminé, enregistrez votre flux de travail. Dans la barre d’outils du Concepteur, sélectionnez Enregistrer.
Lorsque vous enregistrez votre flux de travail, cette étape publie automatiquement vos mises à jour dans votre application logique déployée, qui est en direct dans Azure. Avec un seul déclencheur, votre flux de travail vérifie simplement la base de données SQL en fonction de votre planification spécifiée. Vous devez ajouter une action de réaction à votre déclencheur.
Ajouter une action SQL Server
Les étapes suivantes utilisent le portail Azure, mais avec l’extension Azure Logic Apps appropriée, vous pouvez également utiliser Visual Studio pour modifier les flux de travail d’application logique de consommation ou Visual Studio Code aux outils suivants pour modifier les flux de travail d’application logique :
Workflow Consommation : Visual Studio ou Visual Studio Code
Workflow Standard : Visual Studio Code
Dans cet exemple, le flux de travail de l’application logique commence par le déclencheur de périodicité et appelle une action qui reçoit une ligne d’une base de données SQL.
Sur le portail Azure, ouvrez votre workflow d’application logique Consommation dans le concepteur.
Dans le concepteur, suivez ces étapes générales pour ajouter l’action managée SQL Server que vous souhaitez.
Cet exemple continue avec l’action nommée Obtenir une ligne, qui permet d’obtenir un seul enregistrement.
Si vous y êtes invité, fournissez les informations de votre connexion. Sélectionnez Créer lorsque vous avez terminé.
Une fois la zone d’informations d’action affichée, dans la liste Nom de table, sélectionnez la table que vous souhaitez utiliser. Dans la propriété ID de ligne, entrez l’ID de l’enregistrement souhaité.
Pour cet exemple, le nom de la table est SalesLT.Customer.
Cette action ne renvoie qu’une seule ligne de la table sélectionnée. Pour afficher les données de cette ligne, ajoutez d’autres actions. Par exemple, ces actions peuvent créer un fichier, inclure les champs de la ligne retournée et stocker le fichier dans un compte de stockage cloud. Pour en savoir plus sur les autres actions disponibles pour ce connecteur, consultez la page de référence du connecteur.
Lorsque vous avez terminé, enregistrez votre flux de travail. Dans la barre d’outils du Concepteur, sélectionnez Enregistrer.
Se connecter à votre base de données
Lorsque vous ajoutez un déclencheur ou une action qui se connecte à un service ou à un système et que vous n’avez pas de connexion existante ou active, Azure Logic Apps vous invite à fournir les informations de connexion, qui varient selon le type de connexion, par exemple :
- Vos informations d’identification de votre compte
- Un nom à utiliser pour la connexion
- Le nom pour le serveur ou le système
- Type d’authentification à utiliser
- Une chaîne de connexion
Après avoir fourni ces informations, suivez les étapes suivantes en fonction de votre base de données cible :
- Établissez une connexion à Azure SQL Database ou à SQL Managed Instance basés sur le Cloud
- Se connecter à un SQL Server local
Se connecter à Azure SQL Database ou à SQL Database Managed Instance
Pour accéder à SQL Managed Instance sans utiliser la passerelle de données locale, vous devez configurer le point de terminaison public sur SQL Managed Instance. Le point de terminaison public utilise le port 3342. Assurez-vous de spécifier ce numéro de port lorsque vous créez la connexion à partir de votre application logique.
Dans la zone d’informations de la connexion, procédez comme suit :
Pour Nom de la connexion, donnez un nom à utiliser pour votre connexion.
Pour le Type d’authentification, sélectionnez l’authentification requise et activée sur votre base de données dans Azure SQL Database ou SQL Managed Instance :
Authentification Description Chaîne de connexion - Pris en charge uniquement dans les workflows Standard avec le connecteur intégré SQL Server.
- Nécessite la chaîne de connexion à votre serveur et base de données SQL.OAuth Active Directory - Pris en charge uniquement dans les workflows Standard avec le connecteur intégré SQL Server. Pour plus d’informations, consultez la documentation suivante :
- Authentification pour le connecteur SQL Server
- Activer Open Authorization avec Microsoft Entra ID (Microsoft Entra ID OAuth)
- OAuth avec Microsoft Entra IDIdentités managées par applications logiques - Pris en charge avec le connecteur managé SQL Server. Dans les workflows Standard, ce type d’authentification est disponible pour le connecteur intégré SQL Server, mais l’option est nommée Identité managée à la place.
- Requiert les éléments suivants :
--- Une identité managée valide activée sur votre ressource d’application logique et qui a accès à votre base de données.
--- Accès du rôle Contributeur de base de données SQL à la ressource SQL Server
--- Accès du rôle Contributeur au groupe de ressources qui contient la ressource SQL Server.
Pour plus d’informations, consultez la documentation suivante :
- Authentification de l’identité managée pour le connecteur SQL Server
- SQL - Rôles de niveau serveurPrincipal de service (application Microsoft Entra) - Pris en charge avec le connecteur managé SQL Server.
- Nécessite une application Microsoft Entra et un principal de service. Pour plus d’informations, consultez Créer une application et un principal du service Microsoft Entra pouvant accéder aux ressources à l’aide du portail Azure.Authentification intégrée Microsoft Entra - Pris en charge avec le connecteur managé SQL Server.
- Requiert une identité managée valide dans Microsoft Entra activée sur votre ressource d’application logique et qui a accès à votre base de données. Pour plus d’informations, consultez les rubriques suivantes :
- Vue d’ensemble de la sécurité Azure SQL : authentification
- Autoriser l’accès à la base de données Azure SQL : authentification et autorisation
- Azure SQL : authentification intégrée Microsoft EntraAuthentification SQL Server - Pris en charge avec le connecteur managé SQL Server.
- Requiert les éléments suivants :
--- Une ressource de passerelle de données créée précédemment dans Azure pour votre connexion, que votre application logique soit dans un service Azure Logic Apps multilocataire ou pas.
- Un nom d’utilisateur et un mot de passe sécurisé valides qui sont créés et stockés dans votre base de données SQL Server. Pour plus d'informations, voir les rubriques suivantes :
- Vue d’ensemble de la sécurité Azure SQL : authentification
- Autoriser l’accès à la base de données Azure SQL : authentification et autorisationLes exemples suivants montrent comment la zone d’informations de connexion peut apparaître si vous utilisez le connecteur managé SQL Server et sélectionnez l’authentification intégrée Microsoft Entra :
Workflows Consommation
Workflows Standard
Après avoir sélectionné Microsoft Entra intégré, sélectionnez Se connecter. Selon que vous utilisez Azure SQL Database ou SQL Managed Instance, sélectionnez vos informations d’identification d’utilisateur pour l’authentification.
Sélectionnez ces valeurs pour votre base de données :
Propriété Obligatoire Description Nom du serveur Oui Adresse de votre serveur SQL, par exemple, Fabrikam-Azure-SQL.database.windows.net Nom de la base de données Oui Nom de votre base de données SQL, par exemple, Fabrikam-Azure-SQL-DB Nom de la table Oui La table que vous souhaitez utiliser, par exemple, SalesLT.Customer Conseil
Pour fournir vos informations de base de données et de table, vous disposez des options suivantes :
Trouvez ces informations dans la chaîne de connexion de votre base de données. Par exemple, Dans le Portail Azure, recherchez et ouvrez votre base de données. Dans le menu de la base de données, sélectionnez Chaînes de connexion ou Propriétés, dans lesquelles vous pouvez trouver la chaîne suivante :
Server=tcp:{your-server-address}.database.windows.net,1433;Initial Catalog={your-database-name};Persist Security Info=False;User ID={your-user-name};Password={your-password};MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;
Par défaut, les tables des bases de données système sont filtrées, elles peuvent donc ne pas s’afficher automatiquement lorsque vous sélectionnez une base de données système. Vous pouvez également indiquer manuellement le nom de la table une fois que vous avez sélectionné Entrer une valeur personnalisée dans la liste de base de données.
Cette zone d’informations de base de données ressemble à l’exemple suivant :
Workflows Consommation
Workflows Standard
Maintenant, poursuivez avec les étapes que vous n’avez pas encore effectuées dans Ajouter un déclencheur SQL ou Ajouter une action SQL.
Se connecter à un SQL Server local
Dans la zone d’informations de la connexion, procédez comme suit :
Pour les connexions à votre SQL Server local qui nécessitent la passerelle de données locale, assurez-vous que vous avez rempli ces conditions préalables.
Sinon, votre ressource de passerelle de données n’apparaît pas dans la liste de Passerelle de connexion lorsque vous créerez votre connexion.
Pour le Type d’authentification, sélectionnez l’authentification requise et activée sur votre SQL Server :
Authentification Description Authentification SQL Server - Pris en charge avec le connecteur managé SQL Server et le connecteur SQL Server intégré.
- Requiert les éléments suivants :
--- Une ressource de passerelle de données créée précédemment dans Azure pour votre connexion, que votre application logique soit dans un service Azure Logic Apps multilocataire ou pas.
- Nom d’utilisateur et mot de passe sécurisé valides qui sont créés et stockés dans votre SQL Server.
Pour plus d’informations, consultez Authentification SQL Server.Authentification Windows - Pris en charge avec le connecteur managé SQL Server.
- Requiert les éléments suivants :
--- Une ressource de passerelle de données créée précédemment dans Azure pour votre connexion, que votre application logique soit dans un service Azure Logic Apps multilocataire ou pas.
--- Nom d’utilisateur et mot de passe Windows valides pour confirmer votre identité par le biais de votre compte Windows.
Pour plus d'informations, consultez Authentification Windows.Sélectionnez ou fournissez les valeurs suivantes pour votre base de données SQL :
Propriété Obligatoire Description Nom du serveur SQL Oui L’adresse pour votre SQL Server, par exemple, Fabrikam-Azure-SQL.database.windows.net
Nom de la base de données SQL Oui Le nom de votre base de données SQL Server, par exemple, Fabrikam-Azure-SQL-DB
Nom d’utilisateur Oui Votre nom d’utilisateur pour le serveur et la base de données SQL Mot de passe Oui Votre mot de passe pour le serveur et la base de données SQL Abonnement Oui, pour l’Authentification Windows L’abonnement Azure pour la ressource de passerelle de données que vous avez créée précédemment dans Azure Passerelle de connexion Oui, pour l’Authentification Windows Le nom de la ressource de passerelle de données que vous avez créée précédemment dans Azure
Conseil : si votre passerelle n’apparaît pas dans la liste, vérifiez que vous avez correctement configuré votre passerelle.Conseil
Ces informations se trouvent dans la chaîne de connexion de votre base de données :
Server={your-server-address}
Database={your-database-name}
User ID={your-user-name}
Password={your-password}
Les exemples suivants montrent comment la zone d’informations de connexion peut apparaître si vous sélectionnez l’authentification Windows.
Workflows Consommation
Workflows Standard
Quand vous êtes prêt, sélectionnez Créer.
Maintenant, poursuivez avec les étapes que vous n’avez pas encore effectuées dans Ajouter un déclencheur SQL ou Ajouter une action SQL.
Gérer des données en bloc
Parfois, vous manipulez des jeux de résultats tellement volumineux que le connecteur ne retourne pas tous les résultats en même temps, ou vous souhaitez mieux contrôler la taille et la structure de vos jeux de résultats La liste suivante présente quelques manières de gérer ces grands jeux de résultats :
Pour mieux gérer les résultats sous forme de jeux plus petits, activez la pagination. Pour plus d’informations, voir Obtenir des données en bloc, des enregistrements et des éléments à l’aide de la pagination. Pour plus d'informations, consultez Pagination de SQL pour le transfert de données en bloc avec Logic Apps
Créez une procédure stockée qui trie les résultats comme vous le souhaitez. Le connecteur SQL Server fournit de nombreuses fonctionnalités back-end auxquelles vous pouvez accéder à l’aide d’Azure Logic Apps afin d’automatiser plus facilement les tâches métier qui utilisent des tables de base de données SQL.
Lorsqu’une action SQL obtient ou insert de plusieurs lignes, votre flux de travail d’application logique peut effectuer une itération dans ces lignes en utilisant une boucle Until dans ces limites. Toutefois, lorsque votre application logique doit manipuler des jeux d’enregistrements si volumineux (plusieurs milliers ou millions de lignes, par exemple), vous devez réduire les coûts liés aux appels à la base de données.
Pour organiser les résultats à votre convenance, vous pouvez créer une procédure stockée qui s’exécute dans votre instance SQL et utilise l’instruction SELECT - ORDER BY. Cette solution vous permet de déterminer la taille et la structure de vos résultats. Votre application logique appelle la procédure stockée à l’aide de l’action Exécuter la procédure stockée du connecteur SQL Server. Pour plus d'informations, consultez SELECT - Clause ORDER BY.
Remarque
Le connecteur SQL Server a une limite de délai d’expiration de procédure stockée qui est inférieure à deux minutes. Certaines procédures stockées peuvent prendre plus de temps que cette limite, provoquant une erreur
504 Timeout
. Vous pouvez contourner ce problème en utilisant un déclencheur d’achèvement SQL, une requête SQL directe native, une table des états et des travaux côté serveur.Pour cette tâche, vous pouvez utiliser l’Agent de travail élastique Azure pour Azure SQL Database. Pour SQL Server en local et SQL Managed Instance, vous pouvez utiliser le service SQL Server Agent. Pour plus d’informations, consultez Gérer les délais d’attente des procédures stockées de longue durée dans le connecteur SQL Server pour Azure Logic Apps.
Gérer les données en bloc dynamiques
Parfois, lorsque vous effectuez un appel à une procédure stockée au moyen du connecteur SQL Server, la sortie retournée est dynamique. Dans ce scénario, procédez comme suit :
Sur le Portail Azure, ouvrez votre flux de travail d’application logique dans le concepteur.
Affichez le format de sortie en effectuant une série de tests. Copiez et enregistrez votre exemple de sortie.
Dans le concepteur, sous l’action où vous appelez la procédure stockée, ajoutez l’action intégrée nommée Analyser JSON.
Dans l’option Analyser JSON, sélectionnez Utiliser l’exemple de charge utile pour générer le schéma.
Dans la zone Entrer ou coller un exemple de charge utile JSON, collez votre exemple de sortie, puis sélectionnez Terminé.
Remarque
Si vous recevez une erreur indiquant qu’Azure Logic Apps ne peut pas générer de schéma, vérifiez que la syntaxe de votre exemple de sortie est correctement mise en forme. Si vous ne pouvez toujours pas générer le schéma dans la zone Schéma, entrez manuellement le schéma.
Lorsque vous avez terminé, enregistrez votre flux de travail.
Pour référencer les propriétés de contenu JSON, sélectionnez à l’intérieur des zones d’édition où vous souhaitez référencer ces propriétés afin que la liste de contenu dynamique s’affiche. Dans la liste, sous l’en-tête Analyser JSON, sélectionnez les jetons de données pour les propriétés de contenu JSON que vous souhaitez.