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
eCollect
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