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.
In dit artikel wordt beschreven hoe u Microsoft Flow gebruikt om items efficiënt tussen twee gegevensbronnen te kopiëren.
U kunt bijvoorbeeld een stroom maken om alle items van een SharePoint-lijst op één site naar een tweede SharePoint-site te kopiëren. Het stroomproces werkt ook tussen een SharePoint-lijst en een SQL-tabel of een van de meer dan 100 services die worden ondersteund door Flow.
Van toepassing op: Power Automate
Oorspronkelijk KB-nummer: 4467880
Meer informatie
U moet alle vereiste kolommen invullen. Er is geen vereiste dat de namen van alle kolommen in uw twee gegevensbronnen hetzelfde zijn, maar er moet ten minste één kolom (van uw keuze) zijn waarmee items tussen de twee gegevensbronnen uniek kunnen worden geïdentificeerd.
In het volgende voorbeeld wordt ervan uitgegaan dat de kolom Titel in beide bronnen hetzelfde is.
De trigger instellen
De eerste stap is het instellen van uw trigger in de SharePoint-bronlijst. Omdat u alle itemwijzigingen wilt vastleggen (niet alleen nieuwe items), moet u SharePoint selecteren: wanneer een bestaand item wordt gewijzigd .
Notitie
Hoewel de triggernaam alleen wijzigingen aan bestaande items vermeldt, reageert de trigger ook op nieuwe items die aan de lijst worden toegevoegd.
Het item zoeken in de bestemming
Zoek het item in de doellijst om de id op te halen en bij te werken. Hoewel Flow een filteractie heeft, moet u die actie in dit scenario niet gebruiken, omdat met die actie alle lijstitems uit SharePoint worden gedownload. Het proces is traag, gebruikt uw quotum en werkt niet als de lijst meer dan 256 items bevat.
In plaats daarvan moet u het veld Filterquery gebruiken in de stap Items ophalen in SharePoint. Voeg de actie Items ophalen toe en selecteer Geavanceerde opties weergeven om alle velden weer te geven. Als u overeenkomt met de titels van de rijen van de bronlijst, typt u het volgende in het veld Filterquery (zorg ervoor dat u de enkele aanhalingstekens opneemt):
Titel eq '[selecteer de titel van dynamische inhoud]'
U hoeft niet per se een strikte kolomtoewijzing van 1:1 tussen de twee gegevensbronnen te hebben. Als u bijvoorbeeld de kolommen Voornaam en Achternaam in de bronlijst hebt en een kolom Volledige naam in de doellijst, kunt u FullName eq [Voornaam] [Achternaam] typen in het veld Lijstnaam.
Een voorwaarde toevoegen om te controleren of het item bestaat
Wanneer u de items uit de doellijst krijgt, is een van de volgende situaties waar:
- Het item bestaat nog niet in de bestemming, dus u moet het maken.
- Het item bestaat al in de bestemming en u moet het bijwerken.
Gebruik een voorwaarde om de werkelijke situatie te bepalen. Hiervoor volgt u deze stappen:
Selecteer Nieuwe stap en selecteer vervolgens Een voorwaarde toevoegen.
Selecteer Dynamische inhoud toevoegen onder het linkertekstvak op de kaart Voorwaarde.
Notitie
De verzameling die de lijst bevat met alle items die door Get-items worden geretourneerd, heeft een naam. Zorg ervoor dat u de waarde selecteert in Items ophalen (niet uit de trigger als een bestaand item wordt gewijzigd).
Selecteer op de kaart Voorwaarde is gelijk aan in het vak Relatie en typ vervolgens 0 in het vak Waarde.
Voeg de lengtefunctie toe in de geavanceerde modus. Dit is belangrijk omdat de inhoud van de dynamische waarde de lijst met items retourneert. U moet bepalen of de lengte van de lijst (niet de waarde) gelijk is aan 0 (nul).
Typ in de geavanceerde modus lengte() rond de hoofdtekst('Get_items')?[' waarde'] expressie. Uw voorwaarde wordt als volgt weergegeven.
Het item maken
In de vertakking INDIEN JA voegt u een sharePoint-itemstap maken toe.
Selecteer de site en lijst die u hebt gebruikt in de stappen Items ophalen . In Item maken moet u elke kolom vullen met behulp van velden van de trigger. U moet geen gegevens uit de stappen Items ophalen gebruiken, omdat deze afkomstig zijn uit de doellijst, niet de bronlijst. Items ophalen wordt boven de trigger weergegeven. Zorg ervoor dat u naar beneden schuift om deze te vinden.
Werk het item bij
In de IF NO-vertakking voegt u een SharePoint Update-itemstap toe.
Selecteer de site en lijst. Selecteer vervolgens de id die wordt geretourneerd in de stappen Items ophalen .
Wanneer u de id toevoegt, wordt er automatisch een toepassen op elke container toegevoegd rond de stap Item bijwerken . Dit is normaal. Als de query die u hebt gebruikt in de stap Items ophalen juist is, werkt de container alleen het item bij dat u wilt kopiëren. Nadat u de resterende velden hebt voltooid (en ervoor hebt gezorgd dat u de uitvoer van de trigger gebruikt, niet uit de aanroep Items ophalen ), moet het voorwaardeblok er ongeveer uitzien zoals in de volgende schermopname.
Beperkingen van het stroomproces
Met het stroomproces kunnen wijzigingen die in de eerste lijst worden aangebracht, worden doorgevoerd in de tweede lijst.
De volgende beperkingen zijn van toepassing op het proces:
- Als items uit de eerste lijst worden verwijderd, worden de items niet uit de tweede lijst verwijderd. Dit komt doordat er geen trigger is voor wanneer een item wordt verwijderd. In dit geval is er geen manier om een stroom op de hoogte te krijgen wanneer er een verwijdering plaatsvindt. In plaats daarvan raden we u aan een kolom toe te voegen om aan te geven dat het item niet meer nodig of relevant is in plaats van items uit SharePoint-lijsten (of SQL-tabellen of andere gegevensbron) te verwijderen. Deze kolom wordt gesynchroniseerd tussen de twee lijsten.
- Als er wijzigingen worden aangebracht in het veld dat u gebruikt om items gesynchroniseerd te houden tussen de twee lijsten, wordt er een nieuw item gemaakt in de doellijst. Als u bijvoorbeeld de kolom Naam van een persoon gebruikt om tussen de twee lijsten te kopiëren en de kolom Naam van die persoon verandert, wordt deze wijziging als een nieuw item beschouwd, niet als een update van een bestaand item. Als u kunt garanderen dat de kolom Naam nooit wordt gewijzigd, wordt dit niet beïnvloed door deze beperking. Als de kolom Naam echter verandert, moet u een kolom toevoegen aan de doellijst waarin de id van het item in de eerste lijst wordt opgeslagen. In dit geval kunt u id gebruiken in plaats van De naam te gebruiken om items te zoeken. (De id is gegarandeerd altijd uniek).
- Dit proces is geen tweerichtingssynchronisatie. Dit betekent dat als items worden bijgewerkt in de doellijst, de wijzigingen niet worden doorgevoerd in de bronlijst. U moet geen tweerichtingssynchronisatie in de stroom instellen, omdat hiermee een oneindige lus wordt gemaakt zonder extra wijzigingen. Lijst A werkt bijvoorbeeld lijst B bij, lijst B werkt lijst A bij, lijst A werkt lijst B opnieuw bij, enzovoort.