Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Deze referentiearchitectuur laat zien hoe u hoofdgegevens synchroniseert tussen twee Dataverse-omgevingen met behulp van Power Automate en gegevensstromen in Power Platform. Het demonstreert een een-op-een-synchronisatiepatroon waarbij de ene omgeving fungeert als de gezaghebbende bron en een andere omgeving gegevens ontvangt.
Tip
Dit artikel bevat een voorbeeldscenario en een gegeneraliseerde voorbeeldarchitectuur om te laten zien hoe u hoofdgegevens in één Dataverse-omgeving onderhoudt en synchroniseert met een andere. Het architectuurvoorbeeld kan worden aangepast voor veel verschillende scenario's en branches.
Architectuurschema
Werkproces
In de volgende stappen wordt de werkstroom beschreven die wordt weergegeven in het voorbeeldarchitectuurdiagram:
Event-gestuurde synchronisatie via Power Automate
CRUD-bewerkingen (maken, lezen, bijwerken, verwijderen) in de primaire Dataverse-omgeving activeren Power Automate flows.
Gebeurtenisgestuurde synchronisatie maakt gebruik van een stroomketen in twee stappen:
- Een cloudstroom verzendt een HTTP POST naar een gepubliceerd eindpunt.
- Een cloudflow voor abonnees wordt geactiveerd door de webhook, verwerkt de payload en past de update bijna in realtime toe in de secundaire Dataverse-omgeving.
Eindpunten worden geparameteriseerd voor ALM (Application Lifecycle Management) en beveiligingsgroepen beheren de toegang.
Bulksynchronisatie via gegevensstromen
De secundaire Dataverse-omgeving bevat de gegevensstromen.
Elke gegevensstroom maakt verbinding met de primaire Dataverse-omgeving als gegevensbron.
Gegevensstromen worden uitgevoerd volgens een vast schema (bijvoorbeeld 's nachts of nadat een andere gegevensstroom met succes is uitgevoerd) of op aanvraag (bijvoorbeeld voor de eerste opzet).
Upserts worden uitgevoerd met behulp van een alternatieve sleutel om duplicaten te voorkomen. Met deze methode worden bestaande gegevens bijgewerkt en worden nieuwe records ingevoegd wanneer er geen overeenkomst bestaat.
Statusvelden worden beheerd via een toegewezen kolom 'synchronisatiestatus'. Een Power Automate flow werkt het werkelijke statusveld dienovereenkomstig bij. Deze flow wordt uitgevoerd na de dataflow en is vereist omdat een dataflow geen rijstatussen kan wijzigen of records kan verwijderen die niet aanwezig zijn in de primaire Dataverse-omgeving.
Foutafhandeling en afstemming
Nachtgegevensstromen in de secundaire omgeving corrigeren eventuele gemiste of mislukte updates op basis van gebeurtenissen.
Handmatige interventie is mogelijk vereist voor problemen met de gegevenskwaliteit (bijvoorbeeld ontbrekende sleutels).
Onderdeel
Microsoft Dataverse: ondersteunt de twee omgevingsvereisten.
Gegevensstromen voor Power Platform: ideaal voor bulkbewerkingen, zoals initiële gegevenspopulatie en synchronisatie. Gebruik ETL (Bulk Extract, Transform and Load) voor geplande synchronisatie, geconfigureerd in de secundaire omgeving.
Power Automate cloudstromen: snelle, recordspecifieke updates bieden en compensatie bieden voor beperkingen van gegevensstromen. Cloudstromen kunnen een gegevensstroom activeren wanneer een andere gegevensstroom is voltooid (bijvoorbeeld wanneer een tabel een opzoekveld naar een andere tabel bevat en die record waarnaar wordt verwezen, moet al bestaan in de secundaire Dataverse-omgeving), een foutbericht verzenden wanneer een gegevensstroom mislukt, recordstatussen bijwerkt en records verwijdert.
Beveiligingsgroepen en serviceaccounts: toegangsbeheer en eigendom bieden.
Details van het scenario
Deze architectuur is ontworpen voor een een-op-een-relatie: één MDM-omgeving (Master Data Management) die is gekoppeld aan een andere omgeving. Scenario's waarbij één hoofdomgeving moet worden gesynchroniseerd met meerdere andere omgevingen, is een meer schaalbare of gedistribueerde oplossing vereist.
Bedrijfsprobleem
Met deze oplossing wordt de uitdaging opgelost van het synchroniseren van meerdere tabellen tussen twee afzonderlijke Dataverse-omgevingen. De primaire omgeving fungeert als gezaghebbende bron, terwijl de secundaire omgeving bestaande tabellen bevat die u moet vullen en bijwerken met hoofdgegevens.
Het gebruik van virtuele tabellen is niet haalbaar wanneer de tabellen van het secundaire systeem al bestaan en beveiliging op rijniveau vereisen.
Voorbeeld van een toepassing
Een vrijetijds- en gastvrijheidsorganisatie beheert de belangrijkste hoofdgegevens, zoals hotels en kamerinventarisaties, in een toegewezen Dataverse-omgeving. De primaire omgeving bevat een modelgestuurde app die het hoofdgegevensbeheerteam uitsluitend gebruikt om nauwkeurige en up-tooperationele informatie te onderhouden.
Een afzonderlijke afdeling binnen dezelfde organisatie is verantwoordelijk voor verschillende financiële en afstemmingsprocessen. Om deze processen te stroomlijnen, wil de afdeling een eigen modelgestuurde app bouwen in een geïsoleerde Dataverse-omgeving. De toepassing vereist echter nog steeds toegang tot basishoofdgegevens, zoals hotel- en kamergegevens.
Het team heeft virtuele tabellen geweigerd omdat het financiële team records moest verrijken met afdelingsspecifieke kenmerken die onder strikte beveiliging op rijniveau vallen.
Het insluiten van de financiële app in de primaire MDM-omgeving is ook geen optie. Het toestaan van financiële makers of beheerders in de MDM-omgeving maakt connectors, oplossingen, API-machtigingen en gevoelige gegevens beschikbaar die beperkt moeten blijven tot het MDM-ontwikkelteam.
Deze vereisten hebben ertoe geleid dat de organisatie de synchronisatiearchitectuur in gebruik neemt die in dit artikel wordt beschreven.
Waarde gemaakt
Deze architectuur biedt een robuuste, onderhoudbare oplossing voor het synchroniseren van hoofdgegevens tussen twee Dataverse-omgevingen wanneer virtuele tabellen geen optie zijn. Het rechtstreeks vullen en bijwerken van bestaande tabellen in de secundaire omgeving zorgt voor gegevensconsistentie en operationele betrouwbaarheid.
De benadering maakt alleen gebruik van Power Platform-onderdelen, zoals gegevensstromen en Power Automate, wat resulteert in een oplossing die eenvoudig te implementeren, eenvoudig te beheren is en onnodige complexiteit voorkomt.
Omdat de architectuur is afgestemd op een een-op-een-omgevingsrelatie, wordt overhead geminimaliseerd en wordt transparantie gemaximaliseerd. Het is ideaal voor organisaties die eenvoudige, betrouwbare hoofdgegevenssynchronisatie nodig hebben zonder grootschalige beheer van meerdere omgevingen.
Considerations
Deze overwegingen implementeren de pijlers van Power Platform Well-Architected, een set richtlijnen die de kwaliteit van een workload verbeteren. Meer informatie vindt u in Microsoft Power Platform Well-Architected.
Reliability
Nachtgegevensstromen zorgen voor consistentie.
Gebeurtenisgestuurde stromen leveren snelle updates.
Handmatige bewaking detecteert problemen met de kwaliteit van gegevens.
Security
Serviceaccounts en beveiligingsgroepen voor toegangsbeheer. Wanneer u gegevensstromen gebruikt, kunt u geen service-principals toewijzen als eigenaren.
Geparameteriseerde HTTP-eindpunten voor ALM-compatibiliteit.
Gegevensstromen in geïsoleerde oplossingen om onnodig handmatig werk te voorkomen. Er is een specifieke reden voor het isoleren van gegevensstromen in een toegewezen oplossing: na elke implementatie moet u de gegevensstroomverbinding handmatig opnieuw tot stand brengen. Door gegevensstromen in een afzonderlijke oplossing te plaatsen die u alleen implementeert wanneer u de gegevensstromen wijzigt, voorkomt u onnodig handmatig werk bij het implementeren van andere onderdelen van de hoofdoplossing.
Operationele uitmuntendheid
Geautomatiseerde planning en indeling van gegevensstromen.
Bewaking en waarschuwingen voor mislukte synchronisaties.
Prestatie-efficiëntie
Gegevensstromen die zijn geoptimaliseerd voor bulkbewerkingen.
Gebeurtenisgestuurde Power Automate-flows verminderen de latentie voor kritieke updates op recordniveau. Bij het ontwerpen van gebeurtenisgestuurde stromen moet u ervoor zorgen dat het actievolume en de gelijktijdigheid binnen Power Automate servicelimieten blijven. CRUD-activiteit met een hoge frequentie kan drosseling activeren, met name in scenario's waarin flows tienduizenden acties per dag uitvoeren. Voor bedrijfskritieke of hoge doorvoerintegraties past u de juiste Power Automate-licentie toe om de doorvoerlimieten te verhogen en onverwachte vertraging te vermijden. Deze aanpak vermindert escalatierisico's en zorgt voor voorspelbare prestaties.
Optimalisatie van ervaring
Vereist minimale handmatige interventie.
Hiermee worden bulk- en gebeurtenisgestuurde synchronisaties duidelijk gescheiden.
Bijdragers
Microsoft onderhoudt dit artikel. De volgende inzenders hebben dit artikel geschreven.
Hoofdauteurs:
- Lothar van Diessen, Oplossingsarchitect
Gerelateerde bronnen
- Wat zijn gegevensstromen?
- Power Automate sjablonen voor de connector voor gegevensstromen
- Dataverse als hoofdgegevenssysteem
- De limieten van het platform begrijpen en vertraging of overbelasting vermijden
- CRM-gegevensmigratie naar Dataverse: Belangrijke inzichten en best practices
- Migreer data tussen Microsoft Dataverse-omgevingen met behulp van de dataflows OData-connector