Optimere Power Automate-udløsere

En udløser er en hændelse, der starter et cloudflow i Power Automate. Hvis du f.eks. vil have en meddelelse i Microsoft Teams, når du modtager en mail, kan du konfigurere en udløser, der starter et flow, når der modtages en mail i din indbakke. Udløsere er udgangspunktet for et flow og kan være baseret på forskellige hændelser.

Typer af udløsere

Der findes to primære typer udløsere i Power Automate. Når du har oprettet et flow, registrerer udløseren sig selv for enten at aflæse den tjeneste, den opretter forbindelse til, eller for at lytte efter hændelser fra tjenesten. Udløseren aktiverer derefter flowet, når den angivne hændelse indtræffer.

  • Polling af udløser: Kontrollerer regelmæssigt (eller aflæser) en tjeneste for at se, om en bestemt hændelse fandt sted.

    • Eksempel: En SQL-udløser kan aflæse en SQL-server med jævne mellemrum for at søge efter nye eller opdaterede poster eller for en anden ændring, der opfylder angivne betingelser.

    • Deaktivering af flow-adfærd: Når flowet aktiveres, behandles alle ikke-behandlede eller afvendte hændelser. Slet og opret derefter flowet igen, hvis du ikke vil behandle ventende elementer, når du slår flowet til igen.

  • Webhook-udløser: Lytter efter bestemte hændelser i realtid. Når hændelsen indtræffer, sender tjenesten en meddelelse til Power Automate om at starte flowet.

    • Eksempel: En Outlook-udløser lytter efter indgående mails og udløser flowet, så snart der modtages en ny mail. I dette tilfælde lytter udløseren til Outlook-tjenesten og udløser flowet, så snart der modtages en mail.

    • Deaktivering af flow-adfærd: Når flowet slås til igen, behandles kun begivenheder, som genereres, når flowet er slået til.

Polling-udløsere

Når en polling-udløser er registreret, kontrollerer den jævnligt tjenesten hvert X. minut for at hente detaljer om nye eller ændrede poster/hændelser baseret på de filtre, der er anvendt på udløseren. Hyppigheden af disse kontroller afhænger af brugerens licens og af tidsstemplet for den sidste afstemning. Hvert X. minut afstemmer den tjenesten igen baseret på dette tidsstempel.

Overvej følgende scenarie:

  • Der angives en udløser til at blive aktiveret, når der oprettes en ny SQL-post, og tjenesten SQL afstemmes hvert minut (eller med det angivne interval). Flowet er beregnet til at hente oplysninger om alle poster, der er oprettet siden sidste afstemning.
  • Hvis der findes nye poster, udløses flowet. Hvis der ikke findes nye poster, springes kørslen over.
  • Når et flow stoppes (f.eks. den 13. september kl. 12:30), bemærker udløseren dette tidsstempel.
  • Når flowet genstartes (f.eks. den 14. september kl. 13:30 PT), undersøger udløseren tjenesten for alle hændelser, der er oprettet mellem det sidste afstemningstidspunkt (13. september kl. 12:30) og det aktuelle klokkeslæt (14. september kl. 13:30).

Denne funktionsmåde sikrer, at der ikke går glip af data, heller ikke selvom flowet stoppes midlertidigt på grund af fejl eller begrænsninger.

Vær opmærksom på følgende:

  • Deaktivering af flowet fjerner ikke udløseren. Det sætter kun afstemningen på pause. Dette design sikrer, at data ikke overses, når flowet genstartes.
  • Hvis du vil nulstille pollingfunktionsmåden fuldstændigt, skal du oprette en ny kopi af flowet. Derved registreres udløseren igen, når flowet aktiveres første gang, og du bør slette det eksisterende flow for at undgå konflikter.

Webhook-udløsere

Webhookudløsere fungerer anderledes end polling-udløsere. I stedet for regelmæssigt at kontrollere en tjeneste registrerer webhookudløsere sig hos tjenesten for at modtage meddelelser, når bestemte hændelser forekommer. Sådan fungerer webhook-udløsere:

  • Registrering: Når der oprettes en webhook-udløser, registreres den hos tjenesten for at angive, at den ønsker at modtage meddelelser om bestemte hændelser.
  • Hændelses-meddelelser: Webhooks er enkle HTTP-tilbagekald, der bruges til at give hændelsesmeddelelser. Når den angivne hændelse indtræffer, sender tjenesten en hændelsesmeddelelse til webhookudløseren med alle oplysninger om hændelsen.
  • Flowaktivering: Power Automate giver dig mulighed for at bruge webhooks som udløsere. Når webhookudløseren modtager hændelsesmeddelelsen, aktiveres flowet, som derefter udfører de angivne handlinger.

Flere oplysninger: Min udløser aktiveres for gamle hændelser

Indstil udløserbetingelser

Mange Power Automate-brugere støder på problemet med, at deres flow kører, hver gang en ny række tilføjes, eller en eksisterende række ændres i datakilden. Der er dog ofte scenarier, hvor du kun ønsker, at flowet skal udføres, når en bestemt betingelse er opfyldt. For at opnå denne funktionsmåde skal du konfigurere udløserne korrekt. Ved at konfigurere de rette betingelser for udløserne sikrer du, at flowet kun kører, når det er nødvendigt, hvilket forbedrer effektiviteten og reducerer unødvendige udførelser.

Forestil dig et scenarie, hvor enhver bruger, der indsender en udgift på mere end $100, skal indhente ledergodkendelse. Hvis udløserbetingelserne ikke er angivet, kører flowet for alle udgifter, der sendes, og flowforfatteren skal angive yderligere betingelser for at filtrere udgifter, der er større end $100. Ved at implementere udløserbetingelser sikrer du, at flowet kun udløses, når udgiften er større end $100.

I det eksempel, der vises, udløses et flow, når en række tilføjes, ændres eller slettes. En betingelse kontrollerer, om beløbet er større end 100, og starter godkendelsen, hvis betingelsen er opfyldt. Dette flow startes, hver gang data i tabellen tilføjes, ændres eller slettes.

Skærmbillede af et flow, der bruger en betingelse i stedet for en udløserbetingelse.

I dette eksempel indeholder flowet en udløserbetingelse for handlingen Når en række tilføjes, ændres eller slettes, der kontrollerer, om beløbet er større end 100, og derefter starter godkendelsen. Dette flow starter kun, når værdien i feltet Beløb er større end 100.

Skærmbillede af et flow ved hjælp af en udløserbetingelse.

Tip

OData-filteregenskaben i Power Automate er en effektiv funktion, som du kan bruge til at definere præcise betingelser for, hvornår et flow skal udløses, baseret på ændringer i Dataverse data. Du kan angive en betingelse og navnene på de kolonner, hvor flowet kan udløses. Denne fremgangsmåde er med til at optimere flowydeevnen og sikre, at flows kun kører, når det er nødvendigt.

Konfigurer samtidighedskontrol

I nogle scenarier kan flowet interagere med datakilder, der har begrænset gennemløb. I sådanne tilfælde kan konfiguration af udløserens samtidighedskontrol hjælpe med at styre flowets udførelse mere effektivt.

Som standard udfører en cloudflowudløser så mange kørsler som muligt samtidigt, når betingelserne er opfyldt. Du kan dog ændre denne funktionsmåde ved at justere indstillingerne for samtidighedskontrol, som giver dig mulighed for at begrænse antallet af samtidige kørsler fra mindst 1 op til 100. Alle andre kørsler sættes automatisk i kø.

Anvend samtidighedskontrol:

  • Begrænsede gennemløbsressourcer: Hvis din automatisering afhænger af en ressource i det lokale miljø, der ikke understøtter parallelle udførelser, kan konfiguration af samtidighedskontrol forhindre overbelastning af ressourcen.

  • Forebyggelse af raceforhold: Begrænsning af samtidighed sikrer, at kun én forekomst af flowet kører ad gangen, og at løbsforhold undgås, hvor der kan opstå en beskidt læsning på grund af parallelle udførelser.

Sådan konfigureres samtidighedskontrol:

  1. Åbn det flow, du vil konfigurere, i portalen Power Automate.
  2. Markér udløseren.
  3. I Indstillinger aktiveres indstillingen Samtidighedskontrol.
  4. Angiv det maksimale antal samtidige kørsler, du vil tillade. Du kan indstille tallet mellem 1 og 100.
  5. Gem ændringerne for at anvende indstillingerne for samtidighedskontrol på flowet.

Skærmbillede af indstilling af udløseren samtidighedskontrol.

Vigtige overvejelser

  • Handling, der ikke kan fortrydes: Når indstillingerne for samtidighedskontrol er anvendt, kan de ikke fortrydes. Hvis du vil fjerne samtidighedskontrol, skal du oprette et nyt flow. Derfor fortsættes med forsigtighed.
  • Bedste fremgangsmåder: Det er bedst at lade samtidighedskontrollen være standardindstillingen. Hvis du har brug for at anvende samtidighedskontrol, kan du overveje at gøre det på et flow med færrest mulige handlinger. Du kan f.eks. organisere handlinger, der kræver et sådant kontrolelement, i et dedikeret underordnet flow og kun anvende kontrolelementet på det underordnede flow.