Partager via


Connectez ou appelez des points de terminaison d'API REST à partir de workflows 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

Les opérations intégrées HTTP + Swagger ne prennent actuellement en charge que OpenAPI 2.0, pas 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.

  • L'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 de 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.

  • Le flux de travail de l’application logique de Consommation ou Standard à partir duquel vous souhaitez appeler le point de terminaison cible. Pour démarrer avec le déclencheur HTTP + Swagger, créez une ressource d’application logique avec un workflow 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 Microsoft Azure, ouvrez votre ressource d’application logique Standard et un workflow vide dans le concepteur.

  2. Sur 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é et sélectionnez Ajouter une action.

    Veillez à utiliser ou à créer votre propre point de terminaison. À titre d’exemple uniquement, ces étapes utilisent l’URL Swagger d’API Azure AI Face suivante située dans la région Ouest des États-Unis 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

    La capture d'écran montre le concepteur de flux de travail Standard avec un déclencheur nommé httpswaggeraction. La propriété Swagger Endpoint est définie sur une valeur URL.

  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 en Face - Detect afin que le déclencheur ait un nom plus descriptif.

    La capture d'écran montre le flux de travail Standard, le déclencheur de détection de visage et la liste avec les opérations Swagger.

  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 Paramètres avancés, puis sélectionnez les paramètres de votre choix.

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

  7. Continuez à créer 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. Sur 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é et sélectionnez Ajouter une action.

    Veillez à utiliser ou à créer votre propre point de terminaison. À titre d’exemple uniquement, ces étapes utilisent l’URL Swagger d’API Azure AI Face suivante située dans la région Ouest des États-Unis 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

    La capture d'écran montre le concepteur de flux de travail Standard avec un déclencheur nommé Face - Detect et une action nommée httpswaggeraction. La propriété Swagger Endpoint est définie sur une valeur URL.

  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 en Face - Identifier afin que l'action ait un nom plus descriptif.

    La capture d'écran montre le flux de travail Standard, l'action Visage - Identifier et la liste avec les opérations Swagger.

  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 Paramètres avancés, puis sélectionnez les paramètres de votre choix.

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

  7. Continuez à créer 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, HEAD, PUT
    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.

Outputs

L'appel HTTP + Swagger renvoie 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 Integer 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