Utiliser des actions de processus personnalisées avec du code
Les actions de processus personnalisées, également appelées simplement Actions personnalisées, sont l’une des deux façons de créer des messages personnalisés pour Microsoft Dataverse. L’autre est API personnalisées. Pour plus d’informations, voir : Créer et utiliser des API personnalisées.
Ces deux fonctionnalités permettent de créer de nouveaux messages pouvant être appelés à partir de services Web. Les actions de processus personnalisées continuent de fournir une manière sans code de définir de manière déclarative la logique métier synchrone. Les actions de processus personnalisées ont toujours été des flux de travail synchrones « en temps réel » et ne peuvent donc pas être converties pour utiliser Power Automate.
Pour une comparaison des fonctionnalités des actions de processus personnalisées et des API personnalisées, consultez Comparer l’action du processus personnalisée et l’API personnalisée.
La logique métier d’une action de processus personnalisée est mise en œuvre à l’aide d’un workflow. Lorsque vous créez une action de processus personnalisée, le workflow en temps réel associé est automatiquement enregistré pour s’exécuter à la phase d’opération principale du pipeline d’exécution du message.
Pour les développeurs, la création d’un nouveau message implique qu’il est possible d’utiliser le message dans le code avec l’API Web ou le SDK pour .NET.
- Avec l’API web, les nouveaux messages créés avec des actions de processus personnalisées sont toujours des actions OData. Pour plus d’informations sur l’appel d’actions à l’aide de l’API Web, consultez Utiliser des actions API web.
- Les actions de processus personnalisées peuvent être utilisées dans JavaScript côté client dans les applications pilotées par modèle à l’aide de la méthode Xrm.WebApi.online.execute.
- Avec le SDK pour .NET, les messages peuvent être appelés de manière générique dans un style à liaison tardive en utilisant la classe OrganizationRequest ou en utilisant des classes de demande et de réponse à liaison anticipée générées par la commande pac modelbuilder build de Power Platform CLI.
- Pour plus d’informations :
Pour plus d’informations sur la création d’une action de processus personnalisée à l’aide du concepteur de flux de travail, voir : Créer une action de processus personnalisée
Développer les actions de processus personnalisées
Il existe deux façons d’étendre les actions de processus personnalisées à l’aide du code : avec des activités de flux de travail personnalisées ou en enregistrant des plug-ins sur les étapes.
Activités de workflow personnalisées
Étant donné qu’une action de processus personnalisée est un flux de travail, vous pouvez inclure des activités de flux de travail personnalisées réutilisables dans le définition de workflow dans le cadre du flux de travail. Pour plus d’informations : Extensions de workflow
Inscrire des étapes des plug-in pour les phases du pipeline d’exécution
Étant donné qu’une action de processus personnalisée crée un message, vous pouvez enregistrer les étapes des plug-ins sur les phases PreValidation
, PreOperation
et PostOperation
pour modifier le comportement de l’action de processus personnalisé. Les développeurs utilisent cela pour définir toute la logique du message, ne définissant souvent aucune logique de workflow. La fonctionnalité API personnalisée simplifie ce modèle de code d’abord et fournit d’autres fonctionnalités impossibles avec les activités de flux de travail personnalisées.
Conseil
Si vous avez utilisé des actions de processus personnalisées uniquement pour implémenter la logique à l’aide de plug-ins, envisagez d’utiliser l’API personnalisée à la place. Pour plus d’informations, voir : Créer et utiliser des API personnalisées
Le message pour une action de processus personnalisée n’est disponible que si le workflow qui la définit est activé. Vous ne pouvez pas enregistrer d’étapes de plug-in pour une action de processus personnalisée qui n’est pas active.
Si vous enregistrez des étapes de plug-in dans une action de processus personnalisée, une dépendance est établie dans la solution qui empêche la suppression de l’action de processus personnalisée.
Autorisations requises
Un privilège de sécurité nommé Activer les processus en temps réel (prvActivateSynchronousWorkflow
) est nécessaire pour activer le workflow en temps réel d’une action, afin de pouvoir l’exécuter. Ce privilège s’ajoute à tout privilège nécessaire pour créer un workflow.
Rechercher des actions de longue durée
Si l’une des étapes du workflow en temps réel de l’action est une activité de workflow personnalisée, cette activité de workflow personnalisée est exécutée au sein de l’environnement d’exécution bac à sable isolé et est soumise à un délai de deux minutes, de la même façon que sont gérés les plug-ins. Toutefois, il n’y a aucune restriction particulière quant au temps total que peut prendre l’action en elle-même. Cette absence de restriction n’est pas un avantage. Le workflow ne peut pas s’exécuter indéfiniment. Il finira par échouer pour diverses raisons. Par exemple, si une action participe à une transaction où la restauration est activée, des délais d’expiration SQL Server s’appliquent. Veillez à ce que vos actions de processus personnalisées puissent se terminer avec un succès ou un échec clair dans un délai raisonnable. Tout ce qui dépasse 2 minutes est probablement trop long.
Les vérifications de la plateforme Depth existantes garantissent l’absence d’une boucle infinie. Pour plus d’informations sur les limites de profondeur, voir MaxDepth.
Conseil
Il est recommandé que les opérations longues soient exécutées en dehors de Dataverse en utilisant Power Automate, Logic Apps, ou d’autres fonctionnalités offertes par Azure.
Voir aussi
Créer une action de processus personnalisée
Utiliser des actions
Workflows Dataverse classiques
Notes
Pouvez-vous nous indiquer vos préférences de langue pour la documentation ? Répondez à un court questionnaire. (veuillez noter que ce questionnaire est en anglais)
Le questionnaire vous prendra environ sept minutes. Aucune donnée personnelle n’est collectée (déclaration de confidentialité).