Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Microsoft Dataverse expose les API utilisant les messages. Il existe de nombreux messages prêts à l’emploi que vous pouvez utiliser. Les messages personnalisés sont généralement utilisés pour ajouter de nouvelles fonctionnalités spécifiques au domaine afin de combiner plusieurs requêtes de messages en une seule requête. Par exemple, dans un centre d’appels technique, vous souhaitez peut-être combiner les messages Create, Assign et Update en un nouveau message unique Escalate.
Il existe désormais deux façons de définir des messages personnalisés :
| Méthode de message personnalisé | Description |
|---|---|
| Action du processus personnalisée | Également désignée sous le nom de Actions personnalisées, elles font partie de Dataverse depuis de nombreuses années. Les actions du processus personnalisées offrent un moyen sans code de définir un message personnalisé à l’aide du concepteur de flux de travail. La logique de ces workflows peut également être étendue avec du code à l’aide d’activités de workflow personnalisées. Plus d’informations : Utiliser des actions du processus personnalisées avec du code |
| API personnalisée | Étend le concept des actions personnalisées pour fournir aux développeurs des fonctionnalités non limitées par le concepteur de flux de travail. Pour plus d’informations, voir : Créer et utiliser des API personnalisées |
De nombreux développeurs ont créé des actions de processus personnalisées simplement pour créer de nouveaux messages sans implémenter de logique dans le concepteur de workflow. Au lieu de cela, ils enregistrent des plug-ins pour le message créé par l’action personnalisée afin d’implémenter toute leur logique. La fonction API personnalisée fait de ce modèle une capacité de première classe pour les développeurs à étendre Dataverse sans dépendre du concepteur de workflow ou de la technologie dont il dépend.
Comparer l’action du processus personnalisée et l’API personnalisée
Le tableau suivant décrit un certain nombre des possibilités qui diffèrent.
| Fonctionnalité | Action du processus personnalisée | API personnalisée | Description |
|---|---|---|---|
| Logique déclarative avec le workflow | Oui | Non | Les actions de workflow peuvent avoir une logique définie sans écrire de code à l’aide du concepteur de workflow classique. Les API personnalisées nécessitent un plug-in écrit en .NET pour implémenter la logique appliquée sur le serveur. |
| Exige un privilège spécifique | Non | Oui | Avec une API personnalisée, vous pouvez désigner qu’un utilisateur doit disposer d’un privilège spécifique pour appeler le message. Si l’utilisateur ne dispose pas de ce privilège via ses rôles de sécurité ou l’appartenance à l’équipe, une erreur est renvoyée. |
| Définir la logique de l’opération principale avec du code | Oui | Oui | Avec les actions de processus personnalisées, l’opération principale traite la définition de workflow qui peut inclure des activités de workflow personnalisées. Le code de ces activités de workflow personnalisé est traité dans l’opération principale avec toute autre logique éventuelle du workflow. Si l′action de processus personnalisé ne contient aucune activité de workflow personnalisée, les développeurs ajoutent fréquemment une logique à l′étape de post-opération dans le pipeline d′événements pour définir la logique. Avec une API personnalisée, le créateur du message associe simplement son type de plug-in à l’API personnalisée pour fournir la logique de l’opération principale. Pour plus d’informations : Pipeline d’exécution des événements |
| Bloquer l’extension par d’autres plug-ins | Oui | Oui | Avec les actions de processus personnalisées, définissez la propriété gérée IsCustomProcessingStepAllowedForOtherPublishers sur true si vous souhaitez autoriser l’exécution des plug-ins tiers lorsqu’ils sont enregistrés dans le message pour votre action de processus personnalisée. Si elle est définie sur false, seuls les plug-ins du même éditeur de solutions s’exécutent lorsqu’une étape de plug-in est enregistrée pour le message.Pour l’API personnalisée, définissez AllowedCustomProcessingStepType pour contrôler si les étapes de plug-ins peuvent être enregistrées ou si seuls les plug-ins asynchrones peuvent être enregistrés. Plus d’informations : Sélectionnez un type d’étape de traitement personnalisé |
| Rendre un message privé | Non | Oui | Lorsque vous créez un message à l’aide d’une action de processus personnalisée, il est exposé publiquement dans le point de terminaison pour que toute autre personne puisse le découvrir et l’utiliser. Si une personne choisit de dépendre du message que vous avez créé, son code deviendra erroné si vous supprimez, renommez ou modifiez ultérieurement la signature du paramètre d’entrée ou de sortie. Si vous n’avez pas l’intention que votre message soit utilisé par quelqu’un d’autre, vous pouvez le marquer comme message privé. Cela indique que vous ne prenez pas en charge les autres utilisateurs du message que vous créez et qu’il n’est pas inclus dans les définitions des fonctions ou actions disponibles exposées par la définition du service $métadonnées de l’API web. Les classes pour appeler ces messages ne seront pas générées à l’aide des outils de génération de code, mais vous pourrez toujours les utiliser. Plus d’informations : Quand rendre votre API personnalisée privée |
| Noms et descriptions localisables | Non | Oui | Bien que les actions de processus personnalisées fournissent un nom convivial pour l’action personnalisée et tous les paramètres d’entrée et de sortie qu’elle utilise, ces valeurs ne sont pas localisables. Avec les API personnalisées, vous pouvez fournir des noms et des descriptions localisables. Ces chaînes localisées peuvent ensuite être liées à des contrôles qui offrent une interface utilisateur pour utiliser le message. Plus d’informations : Valeurs d’étiquette localisées |
| Créer une fonction OData | Non | Oui | L’API web Dataverse est un service web OData. OData propose deux types d’opérations : les Actions et les Fonctions.
Les actions du processus personnalisées sont toujours des actions. L’API personnalisée offre la possibilité de définir des fonctions personnalisées. Plus d’informations : Quand créer une fonction |
| Créer une opération globale non liée à une table | Oui | Oui | Vous pouvez utiliser les deux pour définir un message global non lié à une table. |
| Lier une opération à une table | Oui | Oui | Vous pouvez utiliser les deux pour transmettre une référence à un enregistrement de table spécifique en le liant à une table. |
| Lier une opération à une collection de table | Non | Oui | La liaison d’une opération à une collection de tables permet une autre façon de définir la signature de l’API personnalisée. Bien quelle ne transmette pas une collection d’entités en tant que paramètre d’entrée, elle limite le contexte de l’opération à ce type de collection de tables. Utilisez cette option si l′opération fonctionne avec une collection d’un type spécifique de tables ou si l′opération renvoie une collection de ce type. |
| Composer ou modifier une API personnalisée en éditant une solution | Non | Oui | Les éditeurs de logiciels indépendants qui créent et maintiennent des produits compatibles avec Power Platform appliquent les pratiques ALM qui impliquent des solutions. Les données au sein d’une solution sont généralement archivées dans un référentiel de code source et extraites par un développeur qui leur applique des modifications. Un document XAML Windows Workflow Foundation contient les données qui définissent l’action de processus personnalisée transportée dans le cadre d’une solution. Cependant, la création de nouvelles définitions de workflow ou la modification de définitions de workflow existantes en dehors du concepteur de workflow n’est pas prise en charge. Les définitions d’API personnalisées sont des composants dépendants des solutions inclus dans une solution via un ensemble de dossiers et de documents XML. Ces fichiers et la structure des fichiers permettent de transporter l’API d’un environnement à un autre. Comme il s’agit de fichiers texte brut, il est possible de les modifier, ou de définir de nouvelles API en travaillant avec ces fichiers. Cette méthode de définition d’API personnalisées est prise en charge. Pour plus d’informations, consultez Créer une API personnalisée avec des fichiers de solution. |
| Soumis à une limite de temps de 2 minutes | Non | Oui | Un plug-in qui implémente l’opération principale pour une API personnalisée est soumis à une limite de temps de 2 minutes pour terminer l’exécution. Une action de processus personnalisée n’est pas techniquement limitée à deux minutes. Si une étape de la logique du workflow contient une activité de workflow personnalisée, cette partie est limitée à deux minutes. Mais l’ensemble du workflow ne peut pas s’exécuter indéfiniment. Il existe d’autres limitations qui entraînent l’échec des actions de processus personnalisées de longue durée. Pour plus d’informations : Rechercher les actions longues |
Étapes suivantes
Utiliser des actions de processus personnalisées avec du code
Créer et utiliser des API personnalisées