Partilhar via


Sugestões e problemas conhecidos de plug-ins de low-code do Microsoft Dataverse (pré-visualização)

[Este tópico é documentação de pré-lançamento e está sujeito a alterações.]

Este artigo descreve sugestões e problemas conhecidos ao trabalhar com plug-ins de low-code no Microsoft Dataverse.

Importante

  • Esta é uma funcionalidade de pré-visualização.
  • As funcionalidades de pré-visualização não se destinam à produção e poderão ter funcionalidades restritas. Estas funcionalidades estão disponíveis antes do lançamento oficial, para que os clientes possam ter acesso antecipadamente e enviar comentários.

Lidar com problemas gerais de runtime

Se enfrentar problemas de plug-in de runtime, reedite o plug-in de low-code. Em seguida, os problemas do intellisense na sua expressão de fórmula são apresentados no editor de plug-ins de low-code. Siga as diretrizes para corrigir o problema que também é apresentado e, em seguida, volte a guardar o plug-in.

Tenha cuidado ao usar a aplicação de patches pós-operação

A execução do plug-in de low-code poderá encontrar este erro quando utilizar Patch numa pós-operação: 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.

A utilização de Patch num cenário de pós-operação deve ser feita com cautela para evitar ciclos infinitos. Uma operação Patch icia uma nova transação. Por exemplo, se um acionador de atualização para MyTable invocar Patch(MyTable, ThisRecord, ...), esta operação poderá resultar num ciclo de atualização recursiva.

Seguem-se alguns exemplos de operações que podem 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.

Lidar com o tempo limite de dois minutos

Para operações que continuam durante dois minutos ou mais, pode receber 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 trabalhar com plug-ins de low-code do Dataverse é importante gerir o tempo limite de dois minutos de forma eficaz:

  • Limite o número de operações Patch e Collect dentro dos plug-ins, especialmente se tiver outros plug-ins já registados nessa tabela, o que pode afetar o desempenho dos plug-ins.
  • Monitorize o desempenho. Monitorize o desempenho dos seus plug-ins e considere utilizar capacidades de rastreio e de registo no Dataverse para monitorizar os tempos de execução e falhas. Seguindo estas diretrizes, pode garantir que os seus plug-ins de low-code são executados sem problemas no ambiente do Dataverse, sem interrupções causadas pelo tempo limite de dois minutos. Mais informações: Rastreio e registo

Resposta falhada recebida da APIM

Se receber esta mensagem de erro, que pode ser devolvida a partir da Gestão de API (APIM), basta editar o plug-in e, em seguida, guardar novamente. Guardar inicializa a autenticação APIM e o plug-in começa a ser executado com ê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

Consulte também

Utilizar plug-ins de low-code no Dataverse