handmatig-verwijderen-van-currency-controle-uit-een-power-automate-flow

Handmatig Concurrency Control-limieten verwijderen uit een Power Automate-stroom

Adam MaurerTechnical 2 Comments

Een belangrijke functie in Flows is de mogelijkheid om te beperken hoeveel flows voor deze specifieke flow tegelijkertijd kunnen draaien. De mate van parallellisme kan worden ingesteld tussen 1 en 100, wat API-overbelasting kan voorkomen, de prestaties kan verhogen en de gegevensintegriteit kan verbeteren. Het is vooral handig om dubbele triggers te stoppen. Als je trigger bijvoorbeeld een Webhook is die meerdere keren getriggerd kan worden, en er zijn geen unieke identifiers om de dubbele Webhook eruit te halen, dan kun je Concurrency Control Limits inschakelen in combinatie met het schrijven van informatie van de Webhook naar een Excel-bestand of database en een voorwaarde maken om te controleren of die gegevens al bestaan voordat je verder gaat met de Flow.
Image

Maar als deze functie eenmaal is ingeschakeld, is er geen weg meer terug... tot nu!

Misschien heb je deze uitdaging al eens ervaren en zelfs geprobeerd om de trigger te verwijderen en te vervangen. Of je hebt eraan gedacht om de Flow te exporteren en opnieuw te importeren. Helaas krijg je dan de gevreesde foutmelding Flow opslaan mislukt met code 'CannotDisableTriggerConcurrency' en bericht 'De trigger... heeft concurrency runtime-configuratie gespecificeerd. Trigger concurrency runtime-configuratie kan niet worden verwijderd als deze eenmaal is gespecificeerd.

Het kan ook zijn dat je het slachtoffer bent geworden van een Flow die niet meer triggert nadat je Concurrency Control op On hebt gezet en je wilt hem gewoon weer triggeren. Dit kan gebeuren wanneer een Flow is gemarkeerd als een potentiële circulaire lus, waarbij je de volgende melding krijgt bij het opslaan van de Flow: Je flow is opgeslagen, maar met een waarschuwing: Je flow kan een cirkellus hebben. Acties in deze flow kunnen leiden tot een oneindige triggerlus. Zorg ervoor dat je de juiste voorwaardelijke controles toevoegt om te voorkomen dat deze flow zichzelf activeert..

Je kunt je Flow altijd helemaal opnieuw opbouwen en de Copy Action-functionaliteit heeft geholpen om dit proces te versnellen. Als je Flow echter groot of complex is, of als je er veel te veel tijd in hebt gestoken om hem aan de praat te krijgen, kan het een ontmoedigende onderneming zijn om hem opnieuw te doen.

Gelukkig is er een oplossing met minimale inspanning, waarbij je de Flow kunt exporteren als een .zip-bestand, handmatig het definition.json-bestand kunt bijwerken en het kunt importeren als een nieuwe Flow.

De stroom exporteren

Het exporteren van een stroom is een vrij eenvoudig proces en wordt uitgevoerd op de detailpagina van de stroom zelf. Selecteer Exporteer dan Pakket (.zip).

Image
Geef het pakket een naam en selecteer vervolgens Exporteer.
Image
Open het .zip-bestand dat naar je computer is gedownload en Alles uitpakken de inhoud naar een locatie naar keuze.
Image

De stroom bewerken

Navigeer vanuit de uitgepakte inhoud naar Microsoft.Flow -> stromen -> de unieke identificatie van de flowmap -> open dan definitie.json.

ImageImageImageImage
Gebruik het programma van uw keuze om het bestand definition.json aan te passen en zoek (Ctrl + F) naar de term "voorwaarden" en verwijder vervolgens het volgende fragment uit de code:
,
"voorwaarden": [],
"runtimeConfiguratie": { "concurrency": {"runs": 1 } }

Sla het definition.json bestand op en overschrijf het uitgepakte definition.json bestand. Controleer of de wijzigingen zijn doorgevoerd. Als dat niet het geval is, heb je waarschijnlijk geprobeerd het definition.json-bestand in het .zip-bestand op te slaan in plaats van het bestand dat was geëxtraheerd uit het .zip-bestand.

Navigeer nu terug naar de hoofdinhoud van de uitgepakte .zip, markeer zowel de map als het bestand, klik met de rechtermuisknop en selecteer vervolgens Comprimeren tot ZIP-bestand. Geef het nieuw aangemaakte .zip-bestand een naam naar keuze.

ImageImage

De stroom importeren

Je bent nu klaar om de vaste Flow zonder Concurrency Control Limits terug te importeren in Power Automate.

Navigeer naar Mijn stromen -> selecteer de Importeren dropdown -> selecteer vervolgens Importpakket (legacy).

Image
Selecteer uploaden -> Selecteer het nieuwe .zip-bestand dat je net hebt gemaakt -> selecteer vervolgens Open.
Image
Doorloop alle vereiste stappen van het importeren om er zeker van te zijn dat alle verbindingen tot stand zijn gebracht. Je moet alle uitroeptekens aanpakken en ze veranderen in X'en zoals hieronder getoond.
Image

Als alle acties zijn opgelost, wordt de grijze knop Importeren actief waarmee je het importeren kunt voltooien.

Gefeliciteerd! Je kunt nu naar de instellingen van de trigger gaan om te bevestigen dat de Concurrency Control Limit is verwijderd en je bent klaar om je Flow uit te voeren.

Adam

Adam Maurer

COO bij Connecting Software

Auteur:

Ik ben de Chief Operating Officer van Connecting Software en beheer de dagelijkse operaties op onze verschillende locaties. Ik ben gepassioneerd door voortdurende verbetering en verhoging van de efficiëntie. Als je ons geweldige team in Slowakije of Madeira wilt komen versterken, neem dan contact met me op.

Comments 2

  1. Avatar voor JJ

    Ik heb al het bovenstaande geprobeerd en de JSON-bestanden zijn allemaal correct, maar toen ik het bestand probeerde te importeren, kon ik de concurrency control nog steeds niet uitschakelen, zelfs niet nadat ik deze uit het JSON-bestand had verwijderd.

  2. Avatar voor Ana Neto

    Wij denken dat u het definition.json-bestand probeert te bewerken vanuit het zip-bestand zelf in plaats van eerst het definition.json-bestand uit te pakken en dan het bestand te bewerken - raadpleeg wat Adam Maurer zei in het artikel: "Sla het definition.json bestand op en overschrijf het uitgepakte definition.json bestand. Controleer of de wijzigingen zijn doorgevoerd. Als dat niet het geval is, heb je waarschijnlijk geprobeerd het definition.json-bestand in het .zip-bestand op te slaan in plaats van het bestand dat uit het .zip-bestand is gehaald."

    De wijzigingen zouden niet zijn opgeslagen voordat de oplossing werd geïmporteerd, waardoor je met dezelfde code blijft zitten met concurrency control ingeschakeld.
    Door de uitgepakte bestanden te wijzigen, wordt de concurrency control volledig gereset en is het niet nodig om deze uit te schakelen na het importeren.

Geef een reactie

Je e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *

For security, use of Google's reCAPTCHA service is required which is subject to the Google Privacy Policy and Terms of Use.