Exercice : créer une API personnalisée

Effectué

Dans cet exercice, vous allez créer une API personnalisée Dataverse pour exécuter une logique personnalisée. Vous allez ensuite utiliser l’API personnalisée à partir d’une étape d’un flux Power Automate.

Important

Utilisez un environnement de test avec Microsoft Dataverse approvisionné. Si vous ne disposez pas d’un environnement de test, vous pouvez vous inscrire pour bénéficier de l’offre Communauté.

Tâche 1 : créer le projet d’API personnalisée

  1. Téléchargez et installez la CLI Power Platform.

  2. Exécutez le fichier powerapps-cli pour démarrer l’installation.

  3. Terminez la configuration à l’aide de l’Assistant de configuration, puis cliquez sur Terminer.

  4. Ouvrez une fenêtre Invite de commande.

  5. Exécutez la commande ci-dessous pour créer un dossier nommé CustomAPILab.

    md CustomAPILab

  6. Remplacez le répertoire par le dossier que vous avez créé.

    cd CustomAPILab

  7. Vous devriez maintenant vous trouver dans le dossier CustomAPIlAB. Exécutez la commande ci-dessous pour initialiser une nouvelle bibliothèque de classes de plug-in Dataverse.

    pac plugin init

  8. La création de la bibliothèque de classes de plug-in Dataverse devrait réussir.

    Capture d’écran illustrant la bibliothèque de classes de plug-in créée.

  9. Exécutez la commande ci-dessous pour ouvrir le projet dans Visual Studio.

    start CustomAPILab.csproj

  10. Le projet devrait s’ouvrir dans Visual Studio.

  11. Cliquez avec le bouton droit sur le fichier Plugin1.cs et renommez-le MatchPlugin.cs.

  12. Cliquez sur Oui dans la boîte de dialogue « Vous renommez un fichier ».

  13. Cliquez avec le bouton droit sur le projet CustomAPILab, puis sélectionnez Gérer les packages NuGet.

  14. Recherchez System.Text.RegularExpressions et cliquez sur Installer.

    Capture d’écran illustrant le package NuGet en cours d’installation.

  15. Ouvrez le fichier MatchPlugin.cs.

  16. Ajoutez l’instruction suivante :

    using System.Text.RegularExpressions;

  17. Ajoutez les lignes suivantes dans la méthode ExecuteDataversePlugin et après la ligne var context. Ces lignes obtiennent la valeur des paramètres d’entrée transmis lors de l’appel d’API personnalisée.

    string input = (string)context.InputParameters["StringIn"];

    string pattern = (string)context.InputParameters["Pattern"];

  18. Ajoutez ensuite la ligne suivante pour obtenir le service de traçage :

    ITracingService tracingService = (ITracingService)localPluginContext.ServiceProvider.GetService(typeof(ITracingService));

  19. Ajoutez la ligne ci-dessous pour écrire la valeur d’entrée dans la trace :

    tracingService.Trace("Provided input: " + input);

  20. Ajoutez ensuite la ligne suivante pour appeler la méthode Regex.Match :

    var result = Regex.Match(input, pattern);

  21. Écrivez le résultat dans la trace.

    tracingService.Trace("Matching result: " + result.Success);

  22. Enfin, ajoutez la ligne suivante pour définir le paramètre de sortie Matched :

    context.OutputParameters["Matched"] = result.Success;

  23. Votre méthode Execute devrait maintenant se présenter comme suit :

    Capture d’écran illustrant la méthode Execute du plug-in.

  24. Cliquez sur Créer > Créer la solution.

  25. Le projet devrait être créé avec succès.

Tâche 2 : enregistrer le plug-in d’API personnalisée

  1. Ouvrez l’invite de commande et exécutez la commande ci-dessous pour lancer Plugin Registration Tool.

    pac tool prt

  2. Cliquez sur + Créer une connexion.

  3. Sélectionnez Office 365, fournissez vos informations d’identification, puis cliquez sur Connexion.

  4. Sélectionnez l’environnement adéquat.

  5. Cliquez sur Enregistrer | Enregistrer un nouvel assembly.

    Capture d’écran illustrant un clic sur Enregistrer un nouvel assembly.

  6. Cliquez sur …, puis accédez au dossier CustomAPILab\bin\Debug\net462.

  7. Sélectionnez CustomAPILab.dll.

  8. Cliquez sur OK.

    Capture d’écran illustrant la boîte de dialogue Enregistrer un nouvel assembly avec votre plug-in sélectionné.

  9. Cliquez sur Enregistrer les plug-ins sélectionnés.

  10. Cliquez sur OK sur le message de succès. Votre plug-in est prêt à se connecter à l’API personnalisée que nous allons créer au cours de la tâche suivante.

Tâche 3 : créer l’API personnalisée

  1. Accédez à Power Apps Maker Portal et vérifiez que vous vous trouvez dans l’environnement approprié.

  2. Cliquez sur Solutions dans le volet de navigation gauche.

  3. Cliquez sur + Nouvelle solution.

  4. Saisissez Exercice API personnalisée dans le champ Nom complet.

  5. Sélectionnez CDS default publisher dans la liste déroulante Éditeur.

  6. Cliquez sur Créer. Cette opération entraîne la création d’une solution personnalisée comportant nos composants.

  7. Cliquez sur + Nouveau | Plus | Autre | API personnalisée.

  8. Saisissez les informations suivantes :

    • Nom unique : contoso_match

    • Nom : Mettre en correspondance

    • Nom d’affichage : Mettre en correspondance

    • Description : Mettre en correspondance une chaîne

    • Type de liaison : Global

  9. Dans Type de plug-in, cliquez sur l’icône de recherche et recherchez votre plug-in.

    Capture d’écran illustrant la boîte de dialogue API personnalisée avec des champs renseignés.

  10. Cliquez sur Enregistrer et fermer.

  11. Cliquez sur Terminé.

  12. Cliquez sur +Nouveau | Plus | Autre | Paramètre de requête d’API personnalisée.

  13. Pour API personnalisée, cliquez sur l’icône Rechercher et sélectionnez Mettre en correspondance (votre API personnalisée).

  14. Saisissez StringIn pour Nom unique, Nom, Nom complet et Description par souci de simplicité.

  15. Sélectionnez Chaîne pour Type.

  16. Cliquez sur Enregistrer et fermer.

  17. Cliquez sur Terminé.

  18. Répétez les étapes 13 à 17 et ajoutez un autre Paramètre de requête d’API personnalisée nommé Modèle.

  19. Cliquez sur Nouveau | Plus | Autre | Propriété de réponse d’API personnalisée.

  20. Pour API personnalisée, cliquez sur l’icône Rechercher et sélectionnez Mettre en correspondance (votre API personnalisée).

  21. Saisissez Mis en correspondance pour Nom unique, Nom, Nom complet et Description par souci de simplicité.

  22. Sélectionnez Booléen pour Type.

  23. Cliquez sur Enregistrer et fermer.

  24. Votre liste des composants de solution devrait se présenter comme suit :

    Capture d’écran illustrant les composants de la solution une fois tous les paramètres d’API, de requête et de réponse créés.

Tâche 4 : utiliser une API personnalisée à partir de Power Automate

  1. Dans la solution, cliquez sur + Nouveau | Automatisation | Flux de cloud | Instantané.

    Capture d’écran illustrant le bouton de création d’un flux de cloud instantané.

  2. Saisissez Mise en correspondance de chaînes pour Nom du flux, sélectionnez le déclencheur Déclencher manuellement un flux, puis cliquez sur Créer.

  3. Cliquez sur + Nouvelle étape.

  4. Recherchez le terme « effectuer » et choisissez Effectuer une action non liée.

    Capture d’écran illustrant la sélection de l’option Effectuer une action non liée.

  5. Dans la liste Nom de l’action, recherchez et sélectionnez contoso_match.

  6. Saisissez une adresse e-mail valide dans StringIn.

  7. Dans Modèle, saisissez l’expression régulière suivante. Il s’agit d’un modèle d’e-mail simple. D’autres exemples sont disponibles.

    ^\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,3}$

  8. Votre flux devrait se présenter comme suit :

    Capture d’écran illustrant le flux avec le déclencheur et l’étape d’exécution d’une action non liée.

  9. Cliquez sur Enregistrer.

  10. Une fois l’enregistrement terminé, cliquez sur Tester.

  11. Sélectionnez Manuellement, puis cliquez sur Tester.

  12. Cliquez sur Exécuter le flux.

  13. Cliquez sur Terminé.

  14. Une fois votre flux terminé, cliquez sur l’action Effectuer une action non liée pour la développer et afficher les résultats.

    Capture d’écran illustrant les résultats de l’exécution du flux.

Vous avez maintenant terminé la création d’une action personnalisée et son utilisation à partir d’un flux Power Automate. L’action de l’API personnalisée contoso_match est désormais également disponible pour un appel direct à l’aide de l’API de la plateforme.