Partager via


Utiliser des actions de processus personnalisées avec du code

Les actions de processus personnalisées, également appelées actions personnalisées, sont l’une des deux façons de créer des messages personnalisés pour Microsoft Dataverse. L’autre est des API personnalisées. Plus d’informations : Créer et utiliser des API personnalisées.

Ces deux fonctionnalités permettent de créer des messages qui peuvent être appelés à partir de services web. Les actions de processus personnalisées continuent de fournir un moyen 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 « en temps réel » synchrones et ne conviennent donc pas pour être converties pour utiliser Power Automate.

Pour obtenir une comparaison des fonctionnalités des actions de processus personnalisées et des API personnalisées, consultez Comparer l’action de processus personnalisée et l’API personnalisée.

La logique métier d’une action de processus personnalisée est implémentée à l’aide d’un flux de travail. Lorsque vous créez une action de processus personnalisée, le flux de travail en temps réel associé est automatiquement inscrit pour s’exécuter à l’étape principale de l’opération du pipeline d’exécution de message.

Pour les développeurs, la création d’un nouveau message signifie que vous pouvez utiliser le message dans le code avec l’API Web ou le Kit de développement logiciel (SDK) pour .NET.

Pour plus d’informations sur la création d’une action de processus personnalisée à l’aide du concepteur de flux de travail, consultez : Créer une action de processus personnalisée

Étendre des actions de processus personnalisées

Il existe deux façons d’étendre des actions de processus personnalisées à l’aide de code : avec des activités de flux de travail personnalisées ou en inscrivant des plug-ins sur des phases.

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 la définition de flux de travail dans le cadre du flux de travail. Plus d’informations : Extensions de flux de travail

Inscrire des étapes des plug-in pour les phases du pipeline d’exécution

Étant donné qu’une action de processus personnalisé crée un message, vous pouvez inscrire des étapes de plug-ins aux étapes PreValidation, PreOperation et PostOperation pour modifier le comportement de l’action de processus personnalisé. Les développeurs ont utilisé ceci pour définir toute la logique du message, fréquemment sans définir de logique de flux de travail du tout. La fonctionnalité d’API personnalisée simplifie ce modèle code-first et fournit d’autres fonctionnalités qui ne sont pas possibles avec les activités de flux de travail personnalisées.

Conseil / Astuce

Si vous avez utilisé des actions de processus personnalisées uniquement pour implémenter la logique à l’aide de plug-ins, envisagez plutôt d’utiliser l’API personnalisée. Pour plus d’informations, voir : Créer et utiliser des API personnalisées

Le message d'une action de processus personnalisé n'est disponible qu'avec le flux de travail qui en définit l'activation. Vous ne pouvez pas inscrire les étapes de plug-in pour une action de processus personnalisée qui n’est pas active.

Si vous inscrivez des étapes de plug-in sur une action de processus personnalisé, elle établit une dépendance dans la solution qui empêche la suppression de l’action de processus personnalisé.

Autorisations requises

Un privilège de sécurité nommé Activate Real-time Process (prvActivateSynchronousWorkflow) est requis pour activer le flux de travail en temps réel d’une action afin qu’il puisse être exécuté. Ce privilège est en plus des privilèges nécessaires pour créer un flux de travail.

Soyez attentif aux actions qui durent longtemps

Si l'une des étapes du flux de travail en temps réel de l'action est une activité de flux de travail personnalisée, cette activité de flux de travail personnalisée est exécutée à l'intérieur de l'environnement d'exécution du bac à sable isolé et est soumise à la limite de délai d'expiration de deux minutes, similaire à la gestion des plug-ins. Toutefois, il n’existe aucune restriction spécifique sur la durée globale de l’action elle-même. Cette absence de restriction n’est pas un avantage. Le flux de travail ne peut pas s’exécuter indéfiniment. Elle échouera finalement pour diverses raisons. Par exemple, si une action participe à une transaction où le rollback est activé, les délais d’expiration de SQL Server s’appliquent. Veillez à ce que vos actions de processus personnalisées puissent se terminer par une réussite ou une défaillance claires dans un délai raisonnable. Quelque chose de plus de 2 minutes est probablement trop long.

La plateforme existante Depth vérifie qu’une boucle infinie ne se produit pas. Pour plus d’informations sur les limites de profondeur, consultez MaxDepth.

Conseil / Astuce

Une recommandation recommandée est que les opérations de longue durée doivent être exécutées en dehors de Dataverse à l’aide de 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
Flux de travail Dataverse classiques