Microsoft Dataverse nízkokódové tipy na doplnky a známe problémy (verzia Preview)
[Táto téma je predbežnou dokumentáciou a môže sa zmeniť.]
Tento článok popisuje tipy a známe problémy pri práci s doplnkami nízkokódové Microsoft Dataverse.
Dôležité
- Toto je ukážková funkcia.
- Funkcie ukážky nie sú určené na produkčné účely a môžu mať obmedzenú funkčnosť. Tieto funkcie sú k dispozícii pred oficiálnym vydaním, aby k nim mohli zákazníci získať rýchly prístup a poskytnúť odozvu.
Riešenie všeobecných problémov s runtime
Ak máte problémy s doplnkom runtime, znova upravte doplnok nízkokódové. Potom sa v editore doplnku nízkokódové zobrazia problémy s intellisense vo vašom výraze vzorca. Postupujte podľa pokynov na opravu problému, ktoré sa tiež zobrazia, a potom doplnok znova uložte.
Pri používaní pooperačných opráv buďte opatrní
Spustenie doplnku nízkokódové môže naraziť na túto chybu pri použití Patch
v po operácii: 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žívanie Patch
v pooperačnom scenári sa musí vykonávať opatrne, aby sa predišlo nekonečným slučkám. A Patch
operácia spustí novú transakciu. Napríklad, ak spúšťač aktualizácie pre MyTable
vyvolá Patch(MyTable, ThisRecord, ...)
, výsledkom tejto operácie môže byť rekurzívny cyklus aktualizácie.
Tu je niekoľko príkladov operácií, ktoré môžu zabrániť tomuto problému:
Patch(CurrentTable, SomeOtherRecord, ... ) // For example, updating a manager's contact from a contact record.
Patch(OtherTable, SomeOtherRecord, ... ) // Operations on a completely different table.
Zvládnite dvojminútový časový limit
Pri operáciách, ktoré trvajú dve minúty alebo dlhšie, sa môže zobraziť táto 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)
Pri práci s Dataverse nízkokódové pluginmi je dôležité efektívne spravovať dvojminútový časový limit:
- Obmedzte počet operácií
Patch
aCollect
v rámci vašich doplnkov, najmä ak už máte v tejto tabuľke zaregistrované iné doplnky, čo môže ovplyvniť výkon vašich doplnkov. - Monitorujte výkon. Sledujte výkon svojich doplnkov a zvážte použitie funkcií sledovania a protokolovania v rámci Dataverse na sledovanie časov vykonávania a zlyhaní. Dodržiavaním týchto pokynov zaistíte, že vaše nízkokódové plug-iny bežia hladko v Dataverse prostredí bez prerušenia spôsobeného dvojminútovým časovým limitom. Viac informácií: Sledovanie a protokolovanie
Zlyhalo odpoveď prijaté z APIM
Ak sa zobrazí toto chybové hlásenie, ktoré možno vrátiť zo správy API (APIM), jednoducho upravte doplnok a potom ho znova uložte. Uložením sa inicializuje autentifikácia APIM a váš plug-in sa začne úspešne vykonávať.
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