Partager via


Connecter ou appeler des points de terminaison d’API REST à partir de flux de travail dans Azure Logic Apps

S’applique à : Azure Logic Apps (Consommation + Standard)

Pour appeler un point de terminaison d’API REST à partir d’un workflow d’application logique dans Azure Logic Apps, vous pouvez utiliser les opérations HTTP + Swagger intégrées pour appeler n’importe quel point de terminaison d’API REST via un fichier Swagger. Le déclencheur et l’action HTTP + Swagger fonctionnent comme le déclencheur et l'action HTTP, mais offrent une meilleure expérience dans le concepteur de flux de travail en exposant la structure d’API et les sorties décrites par le fichier Swagger. Pour implémenter un déclencheur d’interrogation, suivez le modèle d’interrogation décrit dans Créer des API personnalisées pour appeler d’autres API, services et systèmes à partir de flux de travail d’applications logiques.

Limites

Actuellement, les opérations intégrées HTTP + Swagger prennent uniquement en charge OpenAPI 2.0, et non OpenAPI 3.0.

Prérequis

  • Un compte et un abonnement Azure. Si vous n’avez pas d’abonnement Azure, inscrivez-vous pour bénéficier d’un compte Azure gratuit.

  • URL du fichier Swagger qui décrit le point de terminaison de l’API REST cible que vous souhaitez appeler

    En règle générale, le point de terminaison REST doit répondre aux critères suivants pour que le déclencheur ou l’action fonctionne :

    • Le fichier Swagger doit être hébergé sur une URL HTTPS accessible publiquement.

    • Le fichier Swagger doit contenir une propriété operationID pour chaque opération dans la définition. Si ce n’est pas le cas, le connecteur affiche uniquement la dernière opération dans le fichier Swagger.

    • L'option Partage des ressources cross-origin (CORS) doit être activée sur le fichier Swagger.

    Les exemples de ce guide utilisent Azure AI Face, qui nécessite une clé de ressource et une région des services Azure AI.

    Remarque

    Pour référencer un fichier Swagger non hébergé ou ne répondant pas aux exigences de sécurité cross-origin, vous pouvez charger ce fichier Swagger vers un conteneur d’objets blob dans un compte de stockage Azure, puis activer CORS sur ce compte pour référencer le fichier.

  • Flux de travail consommation ou application logique standard à partir duquel vous souhaitez appeler le point de terminaison cible. Pour commencer par le déclencheur HTTP + Swagger , créez une ressource d’application logique avec un flux de travail vide. Pour utiliser l’action HTTP + Swagger, démarrez votre flux de travail avec le déclencheur de votre choix. Cet exemple utilise le déclencheur HTTP + Swagger comme première opération.

Ajouter un déclencheur HTTP + Swagger

Ce déclencheur intégré envoie une requête HTTP à une URL pour un fichier Swagger décrivant une API REST. Le déclencheur retourne ensuite une réponse qui contient le contenu de ce fichier.

  1. Dans le Portail Azure, ouvrez votre ressource d’application logique Standard et un flux de travail vide dans le concepteur.

  2. Dans le concepteur, suivez ces étapes générales pour ajouter le déclencheur HTTP nommé HTTP + Swagger.

  3. Dans la zone Point de terminaison Swagger, entrez l’URL du fichier Swagger souhaité, puis sélectionnez Ajouter une action.

    Veillez à utiliser ou à créer votre propre point de terminaison. Par exemple, ces étapes utilisent l’URL Swagger de l’API Visage Azure AI suivante située dans la région USA Ouest et peuvent ne pas fonctionner dans votre déclencheur spécifique :

    https://westus.dev.cognitive.microsoft.com/docs/services/563879b61984550e40cbbe8d/export?DocumentFormat=Swagger&ApiName=Face%20API%20-%20V1.0

    Screenshot shows Standard workflow designer with trigger named httpswaggeraction. The Swagger Endpoint property is set to a URL value.

  4. Lorsque le concepteur affiche les opérations décrites par le fichier Swagger, sélectionnez l’opération que vous souhaitez utiliser.

    L’exemple suivant renomme le déclencheur face - Détecter afin que le déclencheur ait un nom plus descriptif.

    Screenshot shows Standard workflow, Face - Detect trigger, and list with Swagger operations.

  5. Indiquez les valeurs correspondant aux paramètres du déclencheur (qui varient en fonction de l’opération sélectionnée) que vous souhaitez inclure dans l’appel du point de terminaison. Configurez la fréquence à laquelle le déclencheur doit appeler le point de terminaison.

  6. Pour ajouter d’autres paramètres disponibles, ouvrez la liste des paramètres avancés et sélectionnez les paramètres souhaités.

    Pour en savoir plus sur les types d’authentification disponibles pour HTTP + Swagger, consultez Ajouter l’authentification aux appels sortants.

  7. Continuez à générer votre flux de travail avec les actions que vous souhaitez exécuter lorsque le déclencheur se déclenche.

  8. Lorsque vous avez terminé, enregistrez votre flux de travail. Dans la barre d’outils du Concepteur, sélectionnez Enregistrer.

Ajouter une action HTTP + Swagger

Cette action intégrée envoie une requête HTTP à l’URL pour le fichier Swagger décrivant une API REST. L’action retourne ensuite une réponse qui contient le contenu de ce fichier.

  1. Sur le portail Azure, ouvrez votre application logique Standard et votre flux de travail dans le concepteur.

  2. Dans le concepteur, suivez ces étapes générales pour ajouter l’action HTTP nommée HTTP + Swagger.

  3. Dans la zone Point de terminaison Swagger, entrez l’URL du fichier Swagger souhaité, puis sélectionnez Ajouter une action.

    Veillez à utiliser ou à créer votre propre point de terminaison. Par exemple, ces étapes utilisent l’URL Swagger de l’API Visage Azure AI suivante située dans la région USA Ouest et peuvent ne pas fonctionner dans votre déclencheur spécifique :

    https://westus.dev.cognitive.microsoft.com/docs/services/563879b61984550e40cbbe8d/export?DocumentFormat=Swagger&ApiName=Face%20API%20-%20V1.0

    Screenshot shows Standard workflow designer with trigger named Face - Detect, and action named httpswaggeraction. The Swagger Endpoint property is set to a URL value.

  4. Lorsque le concepteur affiche les opérations décrites par le fichier Swagger, sélectionnez l’opération que vous souhaitez utiliser.

    L’exemple suivant renomme l’action Face - Identifier afin que l’action ait un nom plus descriptif.

    Screenshot shows Standard workflow, Face - Identify action, and list with Swagger operations.

  5. Indiquez les valeurs correspondant aux paramètres de l'action (qui varient en fonction de l’opération sélectionnée) que vous souhaitez inclure dans l’appel du point de terminaison.

  6. Pour ajouter d’autres paramètres disponibles, ouvrez la liste des paramètres avancés et sélectionnez les paramètres souhaités.

    Pour en savoir plus sur les types d’authentification disponibles pour HTTP + Swagger, consultez Ajouter l’authentification aux appels sortants.

  7. Continuez à générer votre flux de travail avec toutes les autres actions que vous souhaitez exécuter.

  8. Lorsque vous avez terminé, enregistrez votre flux de travail. Dans la barre d’outils du Concepteur, sélectionnez Enregistrer.

Héberger un document Swagger dans Stockage Azure

Vous pouvez toujours faire référence à un fichier Swagger qui n’est pas hébergé ou qui ne répond pas aux exigences de sécurité et d’origine croisée. Téléchargez le fichier Swagger vers le conteneur d’objets blob dans un compte de stockage Azure et activez CORS sur ce compte de stockage. Pour créer, configurer et stocker des fichiers Swagger dans Stockage Azure, procédez comme suit :

  1. Création d’un compte de stockage Azure.

  2. À présent, activez CORS pour l’objet blob. Dans le menu de votre compte de stockage, sélectionnez CORS. Dans l'onglet Service BLOB, spécifiez ces valeurs, puis sélectionnez Enregistrer.

    Propriété Valeur
    Origines autorisées *
    Méthodes autorisées GET, , HEADPUT
    En-têtes autorisés *
    En-têtes exposés *
    Âge maximal (en secondes) 200

    Bien que cet exemple utilise le portail Azure, vous pouvez utiliser un outil comme Explorateur Stockage Azure, ou configurer automatiquement ce paramètre à l’aide de cet exemple de script PowerShell.

  3. Créez un conteneur d’objets blob. Dans le volet Vue d’ensemble du conteneur, sélectionnez Modifier le niveau accès. Dans la liste Niveau d’accès public, sélectionnez Blob (accès en lecture anonyme pour les objets blob uniquement), puis OK.

  4. Téléchargez le fichier Swagger dans le conteneur d’objets blob, via le portail Azure ou Explorateur Stockage Azure.

  5. Pour référencer le fichier dans le conteneur d’objets blob, utilisez une URL HTTPS qui suit ce format et respecte la casse, depuis l’Explorateur Stockage Azure :

    https://<storage-account-name>.blob.core.windows.net/<blob-container-name>/<complete-swagger-file-name>?<query-parameters>

Référence technique du connecteur

Cette section fournit plus d’informations sur les sorties d’un déclencheur et d’une action HTTP + Swagger .

Sorties

L’appel HTTP + Swagger retourne les informations suivantes :

Nom de la propriété Type Description
headers Object En-têtes de la requête
corps Object Objet avec le contenu du corps de la requête
code d’état Entier Code d’état de la requête
Code d’état Description
200 OK
202 Accepted
400 Demande incorrecte
401 Non autorisé
403 Interdit
404 Introuvable
500 Erreur de serveur interne. Une erreur inconnue s’est produite.

Étapes suivantes