Bruge en polling-udløser til Microsoft Power Automate
En polling-udløser er grundlæggende en hændelse, som regelmæssigt udføre kald til din service for at tjekke for nye data. Polling-udløsere er forskellige fra webhooks, ved at en polling-udløser igangsætter en hændelse for at bestemme, om nye data er tilgængelige, mens webhooks svarer på et push af nye data fra servicen. Når flowet bestemmer, at nye data er tilgængelige, kan du derefter udføre en handling med disse data. Dette selvstudium viser, hvordan du bruger en polling-udløser til proaktivt at hente nye data.
Forudsætninger
- Et Power Automate-abonnement.
- Grundlæggende oplevelse i at bygge flows og tilpassede connectorer.
- Den gratis Postman-app (til at teste din udløser).
Sådan fungerer polling-udløsere
En polling-udløser starter med at indstille en tilstand, og derefter regelmæssigt tjekke for opdateringer i et interval. Udløseren anmoder derefter om alle nye data siden sidste tilstandsopdatering. Desuden vedligeholder udløseren tilstandens kontekst mellem anmodninger.
Følgende eksempel giver en grundlæggende oversigt over, hvordan polling-udløseren får nye data.

Flow-runtime igangsætter et første kald fra udløseren til API'en i connectoren.
Connectoren kalder derefter backend-servicen.
Backend-servicens returnerer derefter alle de aktuelle data tilbage til connectoren.
Connectoren returnerer derefter en 202 Accepteret-meddelelse, et forsøg igen-interval og en placerings-header, som indeholder den aktuelle tilstand. Forsøg igen-intervallet er i sekunder. Det første kald bruges altid til at bestemme dataenes foreløbige tilstand.
Når dette forsøg igen-interval er udløbet, udfører flow-runtime et nyt kald til connectoren vha. placerings-headeren og den aktuelle tilstand, som i det eksempel er lig med 1.
Connectoren ved nu, fordi denne tilstand nu er lig med 1, at den skal kalde den korrekte API, som vil udføre den korrekte filtrering, så det korrekte datasæt returneres. I dette eksempel konverterer connectoren den til en filtreret forespørgsel, som siger, at oprettelsesdatoen er større end et bestemt tidsstempel.
I dette eksempel er der ingen nye data siden oprettelsesdatoen, så der sendes et tomt sæt af værdier tilbage til connectoren.
Connectoren returnerer derefter en 202 Accepteret-meddelelse, et forsøg igen-interval og en placerings-header, hvor tilstanden ikke er ændret.
Når dette forsøg igen-interval udløber igen, udfører flow-runtime et nyt kald til connectoren vha. den samme placerings-header og tilstand.
Connectoren udfører igen den relevante filtrering vha. oprettelsesdatoen.
Denne gang er der nye data siden oprettelsesdatoen, så backen returnerer værdierne af alle data tilbage til connectoren.
Connectoren returnerer derefter en 200 OK-meddelelse, et forsøg igen-interval, placeringen med en ny tilstandsværdi og en matrix af værdier, som indeholder alle de nye data, der blev tilgængelige efter oprettelsesdatoen. Flowet starter herefter.
Oprette polling-udløsere fra grænsefladen
I dette afsnit beskrives det, hvordan du opretter en forespørgselsudløser i brugergrænsefladen i Power Automate. I denne procedure kan du bruge TripPin-eksempelservicen som startpunkt. TripPin-servicen er en meget simpel REST API, som indeholder en liste over personer og de ture, de har foretaget.
Du skal først dynamisk oprette de URL-adresser, som er påkrævet til TripPin-servicen, for at kunne bruge servicen. Skriv https://services.odata.org/TripPinRESTierService i browserens adresselinje. Det returnerer de metadata, som er påkrævet til denne demonstration. Kopiér og gem metadataene i fil til senere brug.
Sådan konfigurerer du TripPin-servicen og opretter polling-udløseren:
I Power Automate skal du vælge fanen Data > Brugerdefinerede connectorer.
I panelet Tilpassede connectorer skal du vælge Ny tilpasset connector og derefter vælge Opret fra bunden.
Indtast navnet på din tilpassede connector i dialogboksen Opret en tilpasset connector (i dette eksempel kan du bruge Polling-test), og vælg derefter Fortsæt.
Angiv en beskrivelse og værten på siden Generelt. I dette eksempel bruger du den services.odata.org-URL-adresse, som blev returneret i TripPin-metadataene som værten.
Parameter Value Beskrivelse "TripPin er et eksempel på et rejsewebsted." Vært "services.odata.org" 
På siden Sikkerhed skal du vælge Ingen godkendelse som godkendelsestypen.

Vælg + ny udløser på siden Definition, og udfyld beskrivelsen af udløseren. I dette eksempel opretter du en udløser, som udløses, når en tur føjes til en persons rejseplan.

Parameter Value Oversigt "Udløses, når en ny tur tilføjes" Beskrivelse "Udløses, når en ny tur tilføjes" Handlings-id "OnNewTrip" Synlighed "ingen" (se listen nedenfor for at få flere oplysninger) Udløsertype "Polling" Egenskaben Synlighed for handlinger og parametre i et flow har følgende muligheder:
- ingen: vist normalt i flowet
- avanceret: skjult under en ekstra menu
- intern: for brugeren
- vigtigt: vises altid først for brugeren
I Anmodning-området vises oplysninger, der er baseret på HTTP-anmodningen for handlingen. Vælg Importér fra eksempel.

I ruden Importer fra prøven definerer du anmodningen for polling-udløseren. Vælg GET for verbet. Fra de metadata, du modtog, da du dynamisk oprettede de URL-adresser, som er påkrævet for servicen, skal du kopiere URL-adressen i metadataene til URL-adresse i ruden Importer fra prøven. Tilføj
/People('{Person}')/Trips?$filter=TripId gt 0&$orderby=TripId descefter adressen. Eksempel:https://services.odata.org/TripPinRESTierService/(S(<service number>))/People('{Person}')/Trips?$filter=TripId gt 0&$orderby=TripId descBemærk
Sørg for at bruge det faktiske nummer fra dine metadata i stedet for servicenummer i URL-adressen.
I dette URL-adresseeksempel opretter du en anmodning til en enkeltperson, og
{Person}er en runtime-variabel, som en bruger kan angive i flowet. Derefter angiver du, om du vil have turene for den specifikke person, som brugere angiver.Du vil imidlertid ikke have alle turene, du vil kun har de ture, som er nye, siden sidste gang de blev efterspurgt. Udtrykket
$filter=TripId gt 0henter de nye ture ved at returnere TripId'erne af alle ture, som er større end tidligere efterspurgte TripId'er. Tallet0, der bruges her, opdateres automatisk, hver gang en polling-udløser opstår.Udtrykket
$orderby=TripId descindikerer også, at rækkefølgen af de returnerede data fra TripId er stigende rækkefølge. Udløseren kræver, at de returneres i stigende rækkefølge. Derfor skal de resultater, som returneres af backend-servicens, sorteres i omvendt rækkefølge i udløserparameteren, så den nyeste parameter (f.eks. TripId i dette eksempel) er den første værdi, som returneres i datamatrixen.
Vælg knappen Importér for at importere eksempeldataene. Anmodningsområdet viser nu verbet, URL-adressen, stien og forespørgselsparametrene.
Vælg forespørgselsparameteren $filter i anmodningsområdet, og vælg derefter Rediger for at åbne dialogboksen Parameter.

I dialogboksen Parameter for
$filterskal du angive valget Synlighed til intern. Denne parameter bruges kun internt af connectoren, som forhindrer, at brugere kan foretage ændringer. Du kan få flere oplysninger om synlighedsindstillingerne i x-ms-visibility OpenAPI-udvidelsen.Vælg Tilbage for at vende tilbage til anmodningsområdet.

Vælg forespørgselsparameteren $orderby i anmodningsområdet, og vælg derefter Rediger for at åbne dialogboksen Parameter.
I dialogboksen Parameter for
$orderbyskal du angive valget Er påkrævet? til Ja og valget Synlighed til intern. Disse indstillinger vil forhindre, at brugere kan foretage ændringer til denne parameter.Desuden skal du angive TripId-beskrivelse som værdien i feltet Standardværdi. Disse indstillinger sikrer, at resultatet gives i omvendt rækkefølge.
Vælg Tilbage for at vende tilbage til det forrige område.

I Svar-området vises oplysninger, der er baseret på HTTP-svaret for handlingen. Vælg Tilføj standardsvar.

Definer svaret til polling-udløseren, og vælg derefter Importer. Brug nedenstående eksempel til svarets brødtekst, som automatisk opbygger skemaet til svaret.

{ "@odata.context":"https://services.odata.org/TripPinRESTierService/(S(<service number>))/$metadata#Collection(Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip)", "value":[ { "TripId":2, "ShareId":"9ce142c3-5fd6-4a71-848e-220ebf1e9f3", "Name":"Honeymoon", "Budget":2650, "Description":"Happy honeymoon trip", "Tags":[ "Travel", "honeymoon" ], "StartsAt":"2014-02-01T00:00:00Z", "EndsAt":"2014-02-04T00:00:00Z" }, { "TripId":1, "ShareId":"f94e9116-8bdd-4dac-ab61-08438d0d9a71", "Name":"Trip in Beijing", "Budget":2000, "Description":"Trip from Shanghai to Beijing", "Tags":[ "Travel", "Beijing" ], "StartsAt":"2014-02-01T00:00:00Z", "EndsAt":"2014-02-04T00:00:00Z" } ] }Bemærk
Sørg for at bruge det faktiske nummer fra dine metadata i stedet for servicenummer i URL-adressen.
I området Udløserkonfiguration skal du vælge den parameter, som bruges til at overvåge tilstandsændringen fra TripPin. I dette eksempel skal du angive parameteren
$filter.I dette eksempel skal du bruge følgende udtryk i Angiv en værdi, der skal overføres til det valgte forespørgselsparameter:
TripId gt @{triggerBody().value[0].TripId}Dette udtryk bruges til at få de sidste resultater, når udløseren køres. I det udtryk, du bruger her, køres udløseren, når
TripIder større end den værdi, som returneres af resten af udtrykket. HvisTripIdikke er større end den værdi, som returneres af resten af udtrykket, udløses udløseren ikke.I afsnittet Vælg samling, som indeholder udløserdata skal du vælge @triggerBody().value. Det er den matrix, som indeholder de udløserdata, der blev returneret af backend-servicen.

Vælg Opret connector øverst i guiden.
Brug polling-udløseren
Nu da alt er konfigureret, kan du bruger polling-udløseren i et flow. I dette afsnit opretter du et flow, som vil undersøge backend-servicen for ændringer, når en ny tur registreres for en bestemt person.
I flow.microsoft.com skal du vælge Opret i venstre side af siden.
Vælg Øjeblikkeligt flow under Start fra bunden.
Vælg knappen Spring over i dialogboksen Opret et øjeblikkeligt flow.
Skriv Udløses, når en ny tur tilføjes i søgefeltet.

Vælg elementet på listen for at bruge det som en udløser.
Skriv russellwhyte i flow-feltet Person som den person, hvis ture du vil undersøge, og vælg derefter + Næste trin.

Vælg fanen Indbygget i doalogboksen Vælg en handling, og vælg derefter Dato/klokkeslæt.

Vælg Aktuelt klokkeslæt fra Dato/klokkeslæt.

Vælg Gem for at gemme det nye flow.
Kontrol og fejlfinding
Vælg Mine flows for at kontrollere, at alt er konfigureret korrekt, og vælg derefter flowet Udløsere, når en ny tur er tilføjet -> Aktuelt klokkeslæt for at få vist kørselsoversigten. Da flowet ikke er kørt endnu, bør der ikke vises noget i oversigten.
Hvis du vil teste flowet, skal du åbne programmet Postman for at føje nye data til TripPin.
Vælg ikonet + ved siden af fanen Launchpad i Postman.
Vælg POST i rullefeltet til venstre i anmodningen uden titel, og angiv derefter følgende adresse i feltet Angiv godkendelses-URL-adresse:
https://services.odata.org/TripPinRESTierService/(S(<Service number))/People('russellwhyte')/TripsBemærk
Sørg for at bruge det faktiske nummer fra dine metadata i stedet for servicenummer i URL-adressen.
Vælg fanen Brødtekst under POST-anmodningen, og vælg derefter rå. Vælg JSON i rullefeltet ved siden af rå.
Skriv følgende tekst i tekstfeltet:
{ "TripId": 190, "ShareId": "9d9b2fa0-efbf-490e-a5e3-bac8f7d47354", "Name": "Trip in US", "Budget": 5000, "Description": "Trip from San Francisco to New York City", "Tags": [ "business", "New York meeting" ], "StartsAt": "2014-01-01T00:00:00Z", "EndsAt": "2014-01-04T00:00:00Z" }Vælg Send for at sende POST-meddelelsen til TripPin-webstedet.

Svaret returneres med status
201 Created.
Når du nu åbner Mine flows og derefter vælger flowet Udløsere, når en ny tur er tilføjet -> Aktuelt klokkeslæt, vil du se i kørselsoversigten, at en udløser er udløst.

Bemærk
Hvis du kører en anden POST-anmodning for den samme person, behøver du ikke at ændre TripId-værdien i JSON-brødteksten. Ellers opstår der en 409 Conflict-fejl.
Resumé
Hvis alt er korrekt konfigureret, modtager du nu meddelelser i Microsoft Power Automate, når der føjes en ny rejse til TripPin.