Exposer les API d'Apache APISIX sur la Power Platform

Bobur Umurzokov

Bobur Umurzokov

February 27, 2023

Technology

Apache APISIX API Gateway permet aux développeurs professionnels de publier leurs services backend sous forme d'API, de surveiller leur utilisation et d'exposer facilement ces API à la Power Platform (Power Apps et Power Automate) en tant que connecteurs personnalisés pour la découverte et l'intégration des points de terminaison de l'API Gateway dans des applications personnalisées sans avoir à écrire du code à partir de zéro.

Dans cet article, nous allons vous montrer comment créer un connecteur personnalisé pour la passerelle API open-source Apache APISIX dans Power Platform comme alternative à Azure API Management au cas où vous construisez des composants supplémentaires pour un système existant avec des API utilisables et que l'infrastructure de votre système est hébergée sur site ou sur un autre fournisseur de services cloud plutôt que sur Azure.

Objectifs d'apprentissage

Vous apprendrez les éléments suivants tout au long de l'article :

  • Les avantages de l'intégration de Power Apps avec Apache APISIX.
  • Qu'est-ce qu'un connecteur personnalisé ?
  • Configurer un nouveau connecteur personnalisé pour la passerelle API Apache APISIX dans Power Platform.
  • Créer une application mobile Canvas dans PowerApps qui utilise le nouveau connecteur personnalisé.

Avantages de l'intégration de Power Apps avec Apache APISIX

L'intégration de Power Apps avec Apache APISIX offre plusieurs avantages aux organisations. Vos Power Apps peuvent accéder à vos API via la passerelle API et vous pouvez configurer des paramètres supplémentaires sur APISIX.

En voici quelques-uns :

  1. Sécurité renforcée : Il offre une "limitation avancée des requêtes" pour éviter les erreurs inattendues causées par un grand nombre de requêtes vers les systèmes backend et configurer une politique de limitation de débit pour vos API backend, l'authentification et le chiffrement qui peuvent être appliqués aux applications personnalisées.

  2. Évolutivité : Il gère de grands volumes de trafic et peut monter ou descendre en puissance en fonction de la demande. Cela signifie que les applications personnalisées construites sur Power Apps peuvent gérer des volumes de trafic croissants à mesure que l'entreprise se développe.

  3. Performance : Il fournit des fonctionnalités telles que l'équilibrage de charge et la mise en cache qui peuvent améliorer les performances des applications personnalisées construites sur Power Apps.

Qu'est-ce qu'un connecteur personnalisé ?

Un connecteur personnalisé dans Power Apps est un outil qui permet aux utilisateurs de créer une connexion entre leur application et une source de données externe ou une API qui n'est pas nativement supportée par Power Apps. Dans notre cas, il s'agit d'Apache APISIX. Les connecteurs personnalisés offrent un moyen pour les utilisateurs d'accéder aux données et services des systèmes externes dans leur application sans avoir à écrire du code complexe ou à effectuer des configurations complexes.

Les connecteurs personnalisés sont créés en définissant les points de terminaison d'API, les méthodes et les exigences d'authentification du système externe, ainsi que les paramètres nécessaires et les formats de réponse. Une fois le connecteur personnalisé créé et authentifié, il peut être utilisé dans Power Apps pour effectuer des opérations telles que la récupération de données, la création d'enregistrements, la mise à jour d'enregistrements et la suppression d'enregistrements.

Configurer un nouveau connecteur personnalisé

Examinons un exemple de configuration d'un connecteur personnalisé pour Apache APISIX.

Pour ce cas de démonstration, nous utiliserons le projet exemple construit sur ASP.NET Core WEB API avec un seul point de terminaison GET (récupère la liste de tous les produits) et le projet exemple Docker d'Apache APISIX. Vous pouvez trouver dans le fichier README toutes les instructions pour exécuter l'application exemple.

Prérequis

  • Doit être familier avec les concepts fondamentaux des API.
  • Connaissance de base de quelques concepts clés d'APISIX tels que Route, Upstream et Plugin.
  • Docker installé sur votre machine pour exécuter APISIX.
  • Installer APISIX et l'API backend Product avec docker compose.
  • Configurer les paramètres nécessaires tels que le point de terminaison de l'API, l'upstream et les règles de routage. Vous pouvez suivre ce tutoriel pour configurer la passerelle API APISIX. Assurez-vous de créer la Route et l'upstream et qu'APISIX doit rediriger la requête vers notre API cible /api/products.
  • Cet exercice nécessite un accès aux connecteurs Premium de Power Apps. Inscrivez-vous à un plan développeur gratuit.

Étape 1 : Démarrer l'assistant de connecteur personnalisé

Pour commencer, connectez-vous au portail Power Apps et accédez à la section "Connecteurs". Cliquez sur le bouton "Nouveau connecteur personnalisé", puis choisissez "Créer à partir de zéro" et fournissez un nom pour le nouveau connecteur.

Image 1 du nouveau connecteur personnalisé

Étape 2 : Fournir les détails de base pour votre connecteur

Dans l'onglet "Général", entrez les détails suivants pour votre connecteur :

  • Nom du connecteur : Donnez un nom à votre connecteur, par exemple "Passerelle API APISIX".
  • Description : Fournissez une brève description de votre connecteur.
  • Schéma : Assurez-vous de sélectionner également le bon schéma, pour cet exemple, nous devrions utiliser HTTP, car nous n'avons pas configuré notre API pour utiliser HTTPS.
  • Cochez l'option "Se connecter via une passerelle de données locale". Vous devrez installer une passerelle de données locale sur une machine à l'intérieur de votre réseau. Parce qu'un connecteur personnalisé ne peut pas avoir localhost comme nom d'hôte sans utiliser une passerelle de données locale.
  • URL de base : Entrez l'URL de base de votre passerelle API Apache APISIX. Par exemple, http://localhost:9080.

Image 2 du nouveau connecteur personnalisé

Étape 3 : Choisir un type d'authentification

Ensuite, passez à l'onglet "Sécurité" et fournissez les détails d'authentification nécessaires en fonction du type d'authentification que votre connecteur personnalisé va utiliser. Par exemple, Basic, OAuth2 ou API Key.

Étape 4 : Définir vos points de terminaison d'API

Dans l'onglet "Définition", vous pouvez définir les points de terminaison d'API que vous souhaitez exposer dans votre connecteur personnalisé. Par exemple, vous pourriez définir un point de terminaison pour récupérer la liste de tous les produits depuis la passerelle API.

Pour définir un point de terminaison, suivez ces étapes :

  • Nom : Entrez un nom pour votre point de terminaison, par exemple "Obtenir la liste des produits".
  • Résumé : Fournissez un bref résumé de ce que fait le point de terminaison.
  • ID d'opération : Entrez un ID d'opération unique pour le point de terminaison, par exemple "GetProducts".
  • Méthode : Choisissez la méthode HTTP que votre point de terminaison utilise, par exemple GET.
  • URL : Entrez l'URL du point de terminaison d'API pour votre point de terminaison, par exemple /api/products.
  • Requête : Spécifiez les paramètres de requête et les en-têtes que votre point de terminaison nécessite.
  • Réponse : Spécifiez le schéma de réponse que votre point de terminaison retourne.

Image 3 du nouveau connecteur personnalisé

Vous pouvez définir autant de points de terminaison que nécessaire pour votre connecteur personnalisé.

Étape 5 : Tester votre connecteur personnalisé

Une fois que vous avez défini vos points de terminaison, vous pouvez tester votre connecteur personnalisé en cliquant sur l'onglet "Test". Ici, vous pouvez entrer des données d'exemple pour vos requêtes et voir les réponses que votre passerelle API retourne.

Image 4 du nouveau connecteur personnalisé

Étape 6 : Enregistrer votre connecteur personnalisé

Après avoir défini tous les points de terminaison et testé votre connecteur, cliquez sur le bouton "Créer un connecteur" pour enregistrer vos modifications.

Votre connecteur personnalisé pour la passerelle API Apache APISIX est maintenant prêt à être utilisé dans vos Power Apps. Vous pouvez l'utiliser pour créer une application personnalisée dans la section suivante qui interagit avec votre point de terminaison de passerelle API.

Image 5 du nouveau connecteur personnalisé

Créer une nouvelle Power App

Maintenant, nous allons créer une nouvelle application mobile avec une seule page qui récupère la liste des produits depuis le point de terminaison de la passerelle API APISIX en utilisant le connecteur personnalisé que nous avons créé dans la section précédente.

Étape 1 : Créer une nouvelle application pour les produits

Pour commencer, connectez-vous au portail Power Apps et créez une nouvelle application en sélectionnant "Créer une application". Choisissez l'option "Disposition téléphone" pour créer une application mobile et fournissez un nom pour votre application.

Étape 2 : Ajouter une source de données

Dans l'onglet "Données", ajoutez votre connecteur personnalisé de passerelle API Apache APISIX comme source de données. Cela permettra à votre application d'interagir avec les points de terminaison de la passerelle API définis dans votre connecteur personnalisé.

Étape 3 : Concevoir votre interface utilisateur

Dans l'onglet "Canvas", concevez l'interface utilisateur de votre application. Vous pouvez ajouter divers contrôles d'interface utilisateur tels que des boutons, des étiquettes, des galeries et des formulaires pour créer une interface utilisateur conviviale et interactive. Dans cet exemple, nous affichons une liste de produits avec leurs noms et prix.

Étape 4 : Définir les actions et la logique

Dans l'onglet "Action", définissez les actions que votre application doit effectuer lorsque l'utilisateur interagit avec les contrôles d'interface utilisateur. Par exemple, vous pourriez définir une action pour récupérer tous les produits depuis votre passerelle API, les afficher dans une galerie et ajouter la fonctionnalité de recherche.

Image 1 de la nouvelle Power App

Étape 5 : Tester votre application

Une fois que vous avez défini les actions et la logique pour votre application, vous pouvez la tester en cliquant sur le bouton "Aperçu". Ici, vous pouvez interagir avec les contrôles d'interface utilisateur et voir les données récupérées depuis votre passerelle API.

Étape 6 : Publier votre application

Après avoir testé votre application, vous pouvez la publier pour la rendre disponible à vos utilisateurs. Vous pouvez publier votre application sur diverses plateformes telles qu'iOS, Android et Windows.

Prochaines étapes

Dans cet article, vous avez appris à décrire l'API et à définir le connecteur personnalisé Apache APISIX. Nous avons également créé l'application mobile avec Power Apps qui utilise la passerelle API avec son connecteur personnalisé. Notre connecteur personnalisé est utilisé de la même manière que les connecteurs gérés par Microsoft. Cela signifie que vous pouvez exploiter le connecteur dans une application logique, Power Automate également. Alors allez-y et essayez, et voyez tout ce que vous pouvez accomplir avec Power Platform et Apache APISIX.

Ressources connexes

Contenu recommandé

Communauté

🙋 Rejoignez la communauté Apache APISIX 🐦 Suivez-nous sur Twitter 📝 Retrouvez-nous sur Slack

Tags: