Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de changer d’annuaire.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer d’annuaire.
S’applique à : Azure Logic Apps (Consommation + Standard)
Ce guide montre comment créer un flux de travail d’application logique qui peut recevoir et gérer une requête HTTPS entrante d’un autre service à l’aide du déclencheur intégré de requête . Lorsque votre flux de travail utilise ce déclencheur, le flux de travail peut répondre à l’appel HTTPS à l’aide de l’action intégrée Réponse .
Remarque
L’action Réponse fonctionne uniquement lorsque vous utilisez le déclencheur De requête .
Par exemple, votre flux de travail peut effectuer les tâches suivantes lorsque vous utilisez le déclencheur de requête et l’action Réponse :
Recevoir et répondre à une requête HTTP pour des données situées dans une base de données locale.
Recevoir et répondre à une requête HTTPS envoyée depuis un autre workflow d’applications logiques.
Déclencher l'exécution d'un flux de travail lorsqu'un événement externe de type webhook se produit.
Pour exécuter votre flux de travail en envoyant une requête sortante ou sortante à la place, utilisez le déclencheur intégré HTTP ou l’action intégrée HTTP.
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.
Ressource d’application logique avec le flux de travail dans lequel vous souhaitez recevoir la requête HTTPS entrante.
Pour démarrer votre flux de travail avec un déclencheur de requête , vous devez disposer d’un flux de travail vide. Pour utiliser l’action Réponse , votre flux de travail doit commencer par le déclencheur de requête .
Si vous n’avez pas de ressource et de flux de travail d’application logique, créez-les maintenant en suivant les étapes de l’application logique souhaitée :
Installez ou utilisez un outil capable d’envoyer des requêtes HTTP pour tester votre solution, par exemple :
- Visual Studio Code avec une extension de Visual Studio Marketplace
- Invoke-RestMethod de PowerShell
- Microsoft Edge - Outil console réseau
- Bruno
- curl
Attention
Pour les scénarios où vous avez des données sensibles, telles que des informations d’identification, des secrets, des jetons d’accès, des clés API et d’autres informations similaires, veillez à utiliser un outil qui protège vos données avec les fonctionnalités de sécurité nécessaires. L’outil doit fonctionner hors connexion ou localement, et ne nécessite pas de se connecter à un compte en ligne ou de synchroniser des données sur le cloud. Lorsque vous utilisez un outil avec ces caractéristiques, vous réduisez le risque d’exposer des données sensibles au public.
Ajouter un déclencheur de requête
Le déclencheur Requête crée un point de terminaison appelable manuellement qui traite uniquement les requêtes entrantes sur HTTPS. Lorsque l’appelant envoie une requête à ce point de terminaison, le déclencheur Requête déclenche et exécute le workflow. Pour plus d’informations sur l’appel de ce déclencheur, consultez Appeler, déclencher ou imbriquer des flux de travail avec des points de terminaison HTTPS dans Azure Logic Apps.
Dans le portail Azure, ouvrez votre ressource d’application logique Consommation.
Dans le menu de la barre latérale, sous Outils de développement, sélectionnez le concepteur pour ouvrir votre flux de travail vide.
Ajoutez le déclencheur intégré de requête nommé Lorsqu'une requête HTTP est reçue à votre flux de travail en suivant les étapes générales pour ajouter un déclencheur.
Une fois la zone d’informations du déclencheur affichée, fournissez les informations suivantes :
Nom de la propriété Nom de la propriété JSON Obligatoire Descriptif HTTP URL {aucune} Oui URL de point de terminaison générée après l’enregistrement de votre flux de travail et utilisée pour envoyer une demande qui déclenche votre flux de travail. Schéma JSON du corps de la demande schemaNon Schéma JSON qui décrit les propriétés et les valeurs dans le corps de la demande entrante. Le concepteur utilise ce schéma pour générer des jetons pour les propriétés dans la requête. Ainsi, votre workflow peut analyser, consommer et transmettre les résultats du déclencheur Requête à votre workflow.
Si vous ne disposez pas d'un schéma JSON, vous pouvez générer le schéma à partir d'un exemple de charge utile en utilisant la fonction Utiliser un exemple de charge utile pour générer le schéma.L'exemple suivant montre un exemple de schéma JSON :
L’exemple suivant montre l’exemple de schéma JSON complet :
{ "type": "object", "properties": { "account": { "type": "object", "properties": { "name": { "type": "string" }, "ID": { "type": "string" }, "address": { "type": "object", "properties": { "number": { "type": "string" }, "street": { "type": "string" }, "city": { "type": "string" }, "state": { "type": "string" }, "country": { "type": "string" }, "postalCode": { "type": "string" } } } } } } }Lorsque vous entrez un schéma JSON, le concepteur peut afficher un rappel pour inclure l’en-tête
Content-Typedans votre demande et définir cette valeur d’en-tête surapplication/json. Pour plus d’informations, consultez l’article Gérer les types de contenu.L’exemple suivant montre comment l’en-tête
Content-Typeapparaît au format JSON :{ "Content-Type": "application/json" }Pour générer un schéma JSON basé sur la charge utile attendue (données), vous pouvez utiliser un outil tel que json-schema.org, ou suivre les étapes suivantes :
Dans le déclencheur de requête, sélectionnez Utiliser l’exemple de charge utile pour générer le schéma.
Entrez l’exemple de charge utile, puis sélectionnez Terminé.
L'exemple suivant montre la charge utile type :
{ "account": { "name": "Contoso", "ID": "12345", "address": { "number": "1234", "street": "Anywhere Street", "city": "AnyTown", "state": "AnyState", "country": "USA", "postalCode": "11111" } } }
Pour vérifier que le corps de la demande de l’appel entrant correspond au schéma spécifié, procédez comme suit :
Pour faire en sorte que le message entrant contienne exactement les champs décrits dans votre schéma, ajoutez la propriété
requiredà votre schéma et spécifiez les champs requis. Ajoutez laadditionalPropertiespropriété et définissez la valeur sur false.Par exemple, le schéma suivant spécifie que le message entrant doit contenir le champ
msget aucun autre :{ "properties": { "msg": { "type": "string" } }, "type": "object", "required": ["msg"], "additionalProperties": false }Dans le concepteur, sélectionnez Déclencheur de requête. Dans le volet d’information qui s’ouvre, sélectionnez l’onglet Paramètres.
Développez Gestion des données et définissez Validation de schéma sur Activé.
Si le corps de la demande de l'appel entrant ne correspond pas à votre schéma, le déclencheur renvoie une erreur HTTP 400 Bad Request.
Dans la liste des méthodes , sélectionnez la méthode que le déclencheur attend que les requêtes entrantes utilisent.
Si d’autres paramètres existent pour le déclencheur, ouvrez la liste des paramètres avancés et sélectionnez les paramètres souhaités.
Lorsque vous êtes prêt, enregistrez votre flux de travail. Dans la barre d’outils du Concepteur, sélectionnez Enregistrer.
Cette étape génère l'URL que vous pouvez utiliser pour envoyer une demande qui déclenche le flux de travail.
Pour copier l'URL générée, sélectionnez l'icône de copie à côté de l'URL.
Remarque
Si vous souhaitez inclure le symbole dièse (#) dans l’URI lors d’un appel au déclencheur Requête, utilisez plutôt cette version encodée :
%25%23
Maintenant, continuez à créer votre flux de travail en ajoutant une autre action à l’étape suivante. Par exemple, vous pouvez répondre à la demande en ajoutant une action Réponse, que vous pouvez utiliser pour renvoyer une réponse personnalisée et qui est décrite plus loin dans cet article.
Remarque
Votre flux de travail ne garde une demande entrante ouverte que pour une durée limitée. En supposant que votre flux de travail inclut également une action de réponse, si votre flux de travail ne retourne pas de réponse à l’appelant une fois cette période expirée, votre flux de travail retourne l’état 504 GATEWAY TIMEOUT à l’appelant. Si votre flux de travail n’inclut pas d’action de réponse, votre flux de travail retourne immédiatement l’état ACCEPTÉ 202 à l’appelant.
Pour plus d’informations sur la sécurité, l’authentification et le chiffrement des appels entrants à votre flux de travail, tels que Transport Layer Security (TLS),OAuth avec l’ID Microsoft Entra, les signatures d’accès partagé (SAP), l’exposition de votre ressource d’application logique avec Gestion des API Azure ou la restriction des adresses IP qui proviennent des appels entrants, consultez Access pour les appels entrants aux déclencheurs basés sur des requêtes.
Sorties du déclencheur
Le tableau suivant répertorie les sorties du déclencheur de requête :
| Nom de la propriété JSON | Type de données | Descriptif |
|---|---|---|
headers |
Objet | Objet JSON qui décrit les en-têtes de la requête |
body |
Objet | Objet JSON qui décrit le contenu du corps de la requête |
Ajouter une action Réponse
Lorsque vous utilisez le déclencheur de requête pour recevoir des demandes entrantes, vous pouvez modéliser la réponse et renvoyer les résultats de la charge utile à l’appelant à l’aide de l’action intégrée Réponse , qui fonctionne uniquement avec le déclencheur de requête . Cette combinaison avec le déclencheur de requête et l’action Réponse crée le modèle de demande-réponse. À l’exception des boucles For chaque et des boucles Until, et des branches parallèles, vous pouvez ajouter l’action Réponse n’importe où dans votre flux de travail.
Important
Si votre action Réponse inclut les en-têtes suivants, Azure Logic Apps supprime automatiquement ces en-têtes du message de réponse généré sans afficher d’avertissement ou d’erreur. Azure Logic Apps n’inclut pas ces en-têtes, bien que le service ne vous empêche pas d’enregistrer des flux de travail qui ont une action Réponse avec ces en-têtes.
Allow-
En-têtes
Content-*, à l’exception deContent-Disposition,Content-EncodingetContent-Typelorsque vous utilisez des opérationsPOSTetPUT, mais ne sont pas inclus pour les opérationsGET CookieExpiresLast-ModifiedSet-CookieTransfer-Encoding
Si vous avez une ou plusieurs actions de réponse dans un flux de travail complexe avec des branches, assurez-vous que le flux de travail traite au moins une action de réponse pendant l'exécution. Sinon, si toutes les actions de réponse sont ignorées, l’appelant reçoit une erreur 502 Passerelle incorrecte, même si le workflow se termine correctement.
Dans un flux de travail sans état d’application logique standard, l’action de réponse doit figurer en dernière position. Si l’action apparaît ailleurs, Azure Logic Apps ne l’exécutera pas tant que l’exécution de toutes les autres actions ne sera pas terminée.
Dans le portail Azure, ouvrez votre ressource d’application logique Consommation.
Dans le menu de la barre latérale, sous Outils de développement, sélectionnez le concepteur pour ouvrir le flux de travail.
Cet exemple de flux de travail utilise le déclencheur de requête ajouté dans la section précédente.
Ajoutez l’action intégrée Réponse à votre flux de travail en suivant les étapes générales pour ajouter une action.
Dans la zone d’informations de l’action, ajoutez les valeurs requises pour le message de réponse.
Nom de la propriété Nom de la propriété JSON Obligatoire Descriptif Code d’état statusCodeOui Code d’état à retourner dans la réponse En-têtes headersNon Objet JSON qui décrit un ou plusieurs en-têtes à inclure dans la réponse Corps bodyNon Le corps de texte de la réponse Lorsque vous sélectionnez à l’intérieur de champs de texte, vous obtenez les options permettant d’ouvrir la liste de contenu dynamique (icône éclair) ou l’éditeur d’expressions (icône de fonction). Lorsque vous choisissez la liste de contenu dynamique, vous pouvez sélectionner des sorties disponibles à partir des étapes précédentes du flux de travail. Si vous avez spécifié un schéma dans le déclencheur de requête , les propriétés de schéma apparaissent également dans la liste de contenu dynamique et sont disponibles pour vous permettre d’utiliser dans votre flux de travail.
Par exemple, dans le champ En-têtes , utilisez Content-Type comme nom de clé et définissez la valeur de clé sur application/json , comme mentionné précédemment dans cet article. Pour la zone Corps, vous pouvez ouvrir la liste de contenu dynamique et sélectionner la sortie de l'élément déclencheur.
Pour afficher les en-têtes au format JSON, sélectionnez Basculer vers la vue texte.
Si d’autres paramètres existent pour l’action, ouvrez la liste des paramètres avancés et sélectionnez les paramètres souhaités.
Lorsque vous avez terminé, enregistrez votre flux de travail. Dans la barre d’outils du Concepteur, sélectionnez Enregistrer.
Tester votre workflow
Pour déclencher votre flux de travail, envoyez une requête HTTP à l’URL générée pour le déclencheur de requête, y compris la méthode attendue par le déclencheur de requête, à l’aide de votre outil de requête HTTP et de ses instructions.
Pour plus d’informations sur la définition JSON sous-jacente du déclencheur et sur la façon d’appeler ce déclencheur, consultez les articles suivants : Type de déclencheur de requête et Appel, déclencheur ou imbriquer des flux de travail avec des points de terminaison HTTP dans Azure Logic Apps.
Sécurité et authentification
Dans un flux de travail d’application logique standard qui commence par le déclencheur de requête (mais pas un déclencheur webhook), vous pouvez utiliser la provision Azure Functions pour authentifier les appels entrants envoyés au point de terminaison créé par ce déclencheur à l’aide d’une identité managée. Cette disposition est également connue sous le nom d’authentification facile. Pour plus d’informations, consultez Déclencher des flux de travail dans des applications logiques standard avec l’authentification simple.
Pour plus d’informations sur la sécurité, l’autorisation et le chiffrement des appels entrants vers votre flux de travail d’application logique, tels que Transport Layer Security (TLS), Microsoft Entra ID Open Authentication (Microsoft Entra ID OAuth) , exposant votre application logique avec Gestion des API Azure ou limitant les adresses IP qui proviennent des appels entrants, consultez Access pour les appels entrants aux déclencheurs basés sur des requêtes.