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