Partager via


Microsoft Dataverse conseils sur les plug-ins low-code et problèmes connus (aperçu)

[Cette rubrique fait partie de la documentation en version préliminaire et peut faire l'objet de modifications.]

Cet article Décrit les conseils et problèmes connus pour travailler avec des plug-ins low-code dans Microsoft Dataverse.

Important

  • Cette fonctionnalité est en version préliminaire.
  • Les fonctionnalités préliminaires ne sont pas destinées à une utilisation en production et peuvent avoir des fonctionnalités restreintes. Ces fonctionnalités sont disponibles avant une publication officielle afin que les clients puissent y accéder de façon anticipée et fournir des commentaires.

Gérer les problèmes généraux d’exécution

Si vous rencontrez des problèmes de plug-in d’exécution, rééditez le plug-in low-code. Ensuite, les problèmes Intellisense sur votre expression de formule sont affichés dans l’éditeur de plug-in low-code. Suivez les instructions pour corriger le problème qui s’affichent également, puis réenregistrez le plug-in.

Soyez prudent lorsque vous utilisez des correctifs post-opératoires

L’exécution de votre plug-in low-code peut rencontrer cette erreur lors de l’utilisation de Patch dans une post-opération : Execution failed for PowerPlexPlugin: System.ServiceModel.FaultException 1[Microsoft.Xrm.Sdk.OrganizationServiceFault] This low-code plugin's execution was cancelled because the plugin logic caused an infinite loop. Correct the plugin logic and try again.

L’utilisation de Patch dans un scénario post-opératoire doit être effectuée avec prudence pour éviter des boucles infinies. Une Patch opération initie une nouvelle transaction. Par exemple, si un déclencheur de mise à jour pour MyTable invoque Patch(MyTable, ThisRecord, ...), cette opération peut entraîner un cycle de mise à jour récursif.

Voici quelques exemples d’opérations qui peuvent éviter ce problème :

  • Patch(CurrentTable, SomeOtherRecord, ... ) // For example, updating a manager's contact from a contact record.
  • Patch(OtherTable, SomeOtherRecord, ... ) // Operations on a completely different table.

Gérer le délai d’attente de deux minutes

Pour les opérations qui durent deux minutes ou plus, vous pouvez recevoir cette erreur :

Execution failed for PowerPlexPlugin: System.ServiceModel.FaultException1[Microsoft.Xrm.Sdk.OrganizationServiceFault]: Operation not allowed as plugin execution exceeded maximum allowed time (Fault Detail is equal to Exception details: limit your callbacks .. Create, Update)

Lorsque vous travaillez avec Dataverse plugins low-code, il est important de gérer efficacement le délai d’expiration de deux minutes :

  • Limitez votre nombre d’opérations Patch et Collect dans vos plug-ins, surtout si d’autres plug-ins sont déjà enregistrés dans cette table, ce qui peut affecter les performances de vos plug-ins. .
  • Analyser les performances. Gardez un œil sur les performances de vos plug-ins et envisagez d’utiliser les fonctionnalités de traçage et de journalisation Dataverse pour suivre les temps d’exécution et les échecs. En suivant ces consignes, vous pouvez garantir que vos plug-ins low-code fonctionnent correctement dans l’environnement Dataverse sans interruption causée par le délai d’attente de deux minutes. Pour plus d’informations : Traçage et journalisation

Échec de réponse reçue de l’APIM

Si vous recevez ce message d’erreur, qui peut être renvoyé par la gestion des API (APIM), modifiez simplement le plug-in, puis enregistrez-le à nouveau. L’enregistrement initialise l’authentification APIM et votre plug-in commence à s’exécuter avec succès.

Execution failed for PowerPlexPlugin: Failed response received from APIM; StatusCode: NotFound; ResponseContent: { "statusCode": 404, "message": "Resource not found" } Method: POST; RequestUri: https://canada-001.azure-apim.net/invoke; StatusCode: NotFound; ResponseContent: { "statusCode": 404, "message": "Resource not found" }; HeadersString: Headers - 'Access-Control-Allow-Methods': 'System.String[]'; 'Access-Control-Allow-Origin': 'System.String[]'; 'Access-Control-Max-Age': 'System.String[]'; 'Access-Control-Expose-Headers': 'System.String[]'; 'Date': 'System.String[]'; Access to APIM expires..edit and save the plugin

Voir aussi

Utiliser les plug-ins low-code dans Dataverse