Compartilhar via


Dicas de plug-ins low-code e problemas conhecidos do Microsoft Dataverse (versão preliminar)

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

Este artigo descreve dicas e problemas conhecidos ao trabalhar com plug-ins low-code no Microsoft Dataverse.

Importante

  • Este é um recurso em versão preliminar.
  • Os recursos de visualização não foram criados para uso em ambientes de produção e podem ter funcionalidade restrita. Esses recursos são disponibilizados antes de um lançamento oficial para que os clientes possam ter acesso antecipado e fornecer comentários.

Lidar com problemas gerais de runtime

Se você enfrentar problemas de plug-in de runtime, edite novamente o plug-in low-code. Em seguida, os problemas do Intellisense na expressão da fórmula serão exibidos no editor de plug-in low-code. Siga as diretrizes para corrigir o problema que também são exibidas e salve novamente o plug-in.

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

A execução do plug-in low-code pode encontrar este erro ao usar Patch em uma 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.

Usar Patch em um cenário de pós-operação deve ser feito com cautela para evitar loops infinitos. Uma operação Patch inicia uma nova transação. Por exemplo, se um gatilho de atualização para MyTable invocar Patch(MyTable, ThisRecord, ...), essa operação poderá resultar em um ciclo de atualização recursivo.

Veja alguns exemplos de operações que podem evitar esse problema:

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

Gerenciar o tempo limite de dois minutos

Para operações que continuam por dois minutos ou mais, você 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 low-code do Dataverse, é importante gerenciar o tempo limite de dois minutos de forma eficaz:

  • Limite o número de operações Patch e Collect dentro de seus plug-ins, especialmente se você tiver outros plug-ins já registrados nessa tabela, o que pode afetar o desempenho de seus plug-ins.
  • Monitore o desempenho. Fique atento ao desempenho de seus plug-ins e considere usar os recursos de rastreamento e registro no Dataverse para rastrear tempos de execução e falhas. Seguindo essas diretrizes, você pode garantir que seus plug-ins low-code funcionem sem problemas no ambiente do Dataverse, sem interrupções causadas pelo tempo limite de dois minutos. Mais informações: Rastreamento e registro em log

Falha na resposta recebida do APIM

Se você receber essa mensagem de erro, que pode ser retornada do APIM (gerenciamento de API), basta editar o plug-in e salvá-lo novamente. Salvar inicializa a autenticação do APIM e seu plug-in começará 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

Ver também

Usar plug-ins low-code no Dataverse