Automated cloud flow
Een automated cloud flow start automatisch door een gebeurtenis in een gekoppelde dienst, zoals een nieuwe Dataverse-rij, ontvangen e-mail o...
Lees meerEen Dataverse-plug-in is servercode die op een geregistreerde gebeurtenis in de Dataverse execution pipeline reageert. De stap koppelt een .NET-klasse aan een message, tabel, fase en uitvoermodus.
Een Dataverse-plug-in is een custom event handler die server-side code uitvoert wanneer Dataverse een geregistreerde dataoperatie verwerkt. De code wordt als .NET-assembly gecompileerd en via een step aan het event framework gekoppeld.
Een step specificeert onder meer de message, tabel, pipelinefase en synchrone of asynchrone uitvoering. Messages omvatten gewone operaties zoals Create, Update en Delete en gespecialiseerde platformoperaties.
Plug-ins zijn bedoeld voor logica die declaratieve middelen niet passend kunnen uitvoeren, bijvoorbeeld transactionele validatie, complexe afleiding of herbruikbare serverregels.
Een plug-inklasse implementeert IPlugin en de methode Execute. Dataverse levert services via de service provider, waaronder de execution context, tracing en organization service.
public void Execute(IServiceProvider services) { var context = (IPluginExecutionContext)services.GetService(typeof(IPluginExecutionContext)); if (context.MessageName != "Update") return; }De context bevat message, stage, depth, gebruiker, correlation-ID, inputparameters en gedeelde variabelen. De Target-parameter bevat bij een update meestal alleen gewijzigde kolommen, niet automatisch het volledige record.
PreValidation draait vroeg en vaak buiten de hoofdtransactie. Deze fase past bij controles die een operatie met een begrijpelijke fout moeten tegenhouden voordat meer werk start.
PreOperation draait vóór de kernoperatie binnen de transactie. Een plug-in kan hier Target-waarden aanpassen zonder een afzonderlijke update uit te voeren.
PostOperation draait na de kernoperatie. Een synchrone fout binnen de transactie rolt de volledige operatie terug. Een PostOperation-step kan ook asynchroon worden geregistreerd en draait dan nadat de oorspronkelijke transactie is voltooid.
Een image is een geregistreerde momentopname van geselecteerde kolommen vóór of na de operatie. Ze voorkomt een extra retrieve wanneer oude of definitieve waarden nodig zijn.
Registreer alleen benodigde kolommen. Grote images kosten verwerking en maken onduidelijk welke data de plug-in werkelijk gebruikt.
Niet iedere message ondersteunt iedere image. De Target en images hebben elk een eigen betekenis; behandel ze niet als uitwisselbare volledige records.
Een dossiertabel heeft een extern nummer dat na definitieve registratie niet meer mag veranderen. Een PreValidation-step op Update vergelijkt Target met een pre-image.
Bij een verboden wijziging gooit de plug-in een InvalidPluginExecutionException met een bruikbare melding. De transactie wordt afgebroken voordat gekoppelde logica onnodig draait.
De step gebruikt filtering attributes, zodat hij alleen start wanneer het relevante veld in de update voorkomt.
Een business rule past bij eenvoudige condities, veldwaarden, vereiste velden en formuliergedrag. Een cloud flow past bij orchestratie, connectoren en werk dat na een gebeurtenis mag plaatsvinden.
Een plug-in past bij serverlogica die voor iedere Dataverse-client geldt, in de transactie moet werken of meer programmeercontrole vraagt.
Gebruik geen plug-in voor langdurige externe verwerking in een synchrone gebruikersactie. Kies asynchrone integratie, een webhook, Service Bus of flow wanneer de koppeling mag ontkoppelen.
Een plug-in die opnieuw dezelfde tabel bijwerkt kan zichzelf of andere steps opnieuw activeren. Begrijp depth en causale keten, maar maskeer een slecht ontwerp niet alleen met een depth-check.
Schrijf implementaties stateless, gebruik geen parallelle threads en beperk queries en updates. Registreer filtering attributes en een specifieke tabel in plaats van brede stappen.
Externe calls kunnen traag of onbeschikbaar zijn. Ze verlengen bij synchrone uitvoering de gebruikersactie en transactie. Ontwerp retries en idempotentie buiten de transactie wanneer dat beter past.
Registreer assembly en steps met ondersteunde Power Platform-tools. Neem zowel assembly als stepregistraties op in een solution.
Gebruik tracing voor diagnostiek en geef fouten zonder gevoelige details terug aan gebruikers. Telemetrie kan correlation-ID, message, stage en duur vastleggen.
Test verschillende messages, securitycontexten en transactie-uitkomsten. Versiebeheer broncode, automatiseer build en valideer de geregistreerde configuratie bij iedere deployment.
Een automated cloud flow start automatisch door een gebeurtenis in een gekoppelde dienst, zoals een nieuwe Dataverse-rij, ontvangen e-mail o...
Lees meerEen business process flow begeleidt gebruikers in een model-driven Power App door vaste stages en datastappen. Het toont waar een dossier st...
Lees meerEen connection reference is een Power Platform-solutioncomponent die apps en flows naar een connection voor een bepaalde connector laat verw...
Lees meerEen Dataverse virtual table presenteert externe gegevens als Dataverse-records zonder ze standaard naar Dataverse te repliceren. Een provide...
Lees meerEen Dataverse-business rule legt eenvoudige condities en acties vast zonder plug-incode. Afhankelijk van de scope kan de regel formuliergedr...
Lees meer