Consellos de complementos de baixo código de Microsoft Dataverse e problemas coñecidos (vista previa)

[Este tema é a documentación de pre-lanzamento e está suxeito a cambios.]

Este artigo describe consellos e problemas coñecidos ao traballar con complementos de baixo código en Microsoft Dataverse.

Importante

  • Os complementos instantáneos de código baixo teñen prioridade e non se entregan como función. Os complementos instantáneos de código baixo substitúense por funcións. Máis información: Funcións en Microsoft Dataverse (vista previa)
  • Esta é unha funcionalidade de vista previa.
  • As funcionalidades de vista previa non se deseñaron para uso de produción e poden ter funcionalidade restrinxida. Estas funcionalidades están dispoñibles antes da versión oficial para que os clientes poidan obter acceso a elas rápido e fornecer comentarios.

Xestionar problemas xerais de tempo de execución

Se atopas problemas co complemento de tempo de execución, volve editar o complemento de baixo código. A continuación, os problemas de IntelliSense na súa expresión de fórmula móstranse no editor de complementos de baixo código. Siga as directrices para corrixir o problema que tamén se mostran e, a continuación, volva gardar o complemento.

Teña coidado ao usar parches post-operación

A execución do complemento de baixo código pode atopar este erro cando se usa Patch nunha post-operación: 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.

O uso Patch nun escenario post-operación debe facerse con precaución para evitar bucles infinitos. Unha Patch operación inicia unha nova transacción. Por exemplo, se un desencadeador de actualización para MyTable invoca Patch(MyTable, ThisRecord, ...), esta operación pode resultar nun ciclo de actualización recursivo.

Aquí tes un par de exemplos de operacións que poden evitar este problema:

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

Manexar o tempo de descanso de dous minutos

Para operacións que continúan durante dous minutos ou máis, pode recibir este erro:

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)

Ao traballar con complementos de baixo código de Dataverse, é importante xestionar o tempo límite de dous minutos de forma eficaz:

  • Limita o número de e operacións dentro dos PatchCollect teus plug-ins, especialmente se tes outros plug-ins xa rexistrados nesa táboa, o que pode afectar o rendemento dos teus plug-ins.
  • Monitorizar o rendemento. Manteña un ollo sobre o rendemento dos seus complementos e considere o uso de capacidades de rastrexo e rexistro en Dataverse para rastrexar os tempos de execución e os fallos. Seguindo estas directrices, pode asegurarse de que os seus complementos de baixo código funcionan sen problemas no entorno de Dataverse sen interrupcións causadas polo tempo límite de dous minutos. Máis información: Rastrexo e rexistro

Fallou a resposta recibida do APIM

Se recibe esta mensaxe de erro, que se pode devolver desde a xestión de API (APIM), simplemente edite o complemento e despois volva gardar. O gardado inicializa a autenticación APIM e o complemento comeza a executarse con éxito.

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

Véxase tamén

Usar complementos de baixo código en Dataverse