Sdílet prostřednictvím


Tipy pro moduly plug-in Microsoft Dataverse s minimálním psaním kódu a známé problémy (Preview)

[Toto téma představuje předběžnou dokumentaci a může se změnit.]

Tento článek obsahuje tipy pro práci s moduly plug-in s minimálním psaním kódu v Microsoft Dataverse a známé problémy.

Důležité

  • Toto je funkce Preview.
  • Ukázkové funkce nejsou určené pro normální používání a mohou mít omezené fungování. Jsou to funkce, které jsou poskytnuté před svým oficiálním vydáním, aby si je zákazníci mohli co nejdříve vyzkoušet a mohli nám napsat své názory.

Řešení obecných problémů s modulem runtime

Pokud se při práci s modulem plug-in s minimálním psaním kódu pro modul runtime potýkáte s problémy, znovu jej otevřete pro úpravy. Poté se problémy IntelliSense ve výrazu vzorce zobrazí v editoru modulů plug-in s minimálním psaním kódu. Postupujte podle pokynů k opravě problému, které se také zobrazí, a poté modul plug-in znovu uložte.

Při používání dílčích oprav po operaci buďte opatrní

Spuštění modulu plug-in s minimálním psaním kódu může narazit na tuto chybu při použití příkazu Patch po operaci: 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.

Použití příkazu Patch po operaci musí být provedeno opatrně, aby nedošlo k nekonečným smyčkám. Operace Patch zahájí novou transakci. Pokud například trigger aktualizace pro MyTable vyvolá Patch(MyTable, ThisRecord, ...), může tato operace vést k cyklu rekurzivní aktualizace.

Zde je několik příkladů operací, které mohou tomuto problému předejít:

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

Řešení dvouminutového časového limitu

U operací, které trvají dvě minuty nebo déle, se může zobrazit tato chyba:

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)

Při práci s moduly plug-in Dataverse s minimálním psaním kódu je důležité efektivně řešit dvouminutový časový limit:

  • Omezte počet operací Patch a Collect v rámci modulů plug-in, zvláště pokud máte jiné moduly plug-in již registrovány v této tabulce, což může ovlivnit výkon vašich modulů plug-in.
  • Monitorujte výkon. Monitorujte výkon svých modulů plug-in a zvažte použití funkcí trasování a protokolování v rámci Dataverse ke sledování časů provedení a selhání. Dodržováním těchto pokynů můžete zajistit, aby vaše moduly plug-in s minimálním psaním kódu fungovaly hladce v prostředí Dataverse bez přerušení způsobeného dvouminutovým časovým limitem. Více informací: Trasování a protokolování

Neúspěšná odpověď přijatá z APIM

Pokud se zobrazí tato chybová zpráva, která může přijít ze správy rozhraní API (APIM), stačí upravit modul plug-in a poté jej znovu uložit. Uložením se inicializuje ověřování APIM a váš modul plug-in se začne úspěšně spouštět.

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

Viz také

Používání modulů plug-in s minimálním psaním kódu v Dataverse