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.
Een poll-trigger is in principe een gebeurtenis voor het periodiek aanroepen van uw service om te zoeken naar nieuwe gegevens. Poll-triggers verschillen van webhooks. Een poll-trigger initieert een gebeurtenis om te bepalen of nieuwe gegevens beschikbaar zijn, terwijl webhooks reageren op een push vanuit de service over nieuwe gegevens. Zodra via de stroom is vastgesteld dat nieuwe gegevens beschikbaar zijn, kunt u een actie uitvoeren met deze gegevens. In deze zelfstudie wordt gedemonstreerd hoe u een poll-trigger gebruikt om proactief nieuwe gegevens op te halen.
Vereisten
- Een Power Automate abonnement.
- Basiservaring met het bouwen van stromen en aangepaste connectoren.
Ontdek hoe een poll-trigger nieuwe gegevens verkrijgt
Een poll-trigger wordt gestart door een status in te stellen, waarna gedurende een bepaald interval periodiek wordt gecontroleerd op updates. Op basis van de trigger worden vervolgens alle nieuwe gegevens aangevraagd sinds de laatste update van de status. Daarnaast onderhoudt de trigger ook de statuscontext tussen aanvragen.
Het volgende voorbeeld bevat een overzicht van hoe via een poll-trigger nieuwe gegevens worden opgehaald.
- Tijdens de stroomuitvoering wordt via de trigger een initiële aanroep gedaan naar de API in de connector.
- De connector roept vervolgens de back-endservice aan.
- De back-endservice retourneert hierna alle huidige gegevens terug naar de connector.
- De connector retourneert dan een 202 Geaccepteerd-bericht, een interval voor nieuwe poging, en een locatieheader die de huidige status bevat. Het interval voor nieuwe poging is in seconden. Deze eerste aanroep wordt altijd gebruikt voor het vaststellen van de eerste status van de gegevens.
- Nadat er een time-out is opgetreden voor het interval voor nieuwe poging, wordt tijdens de stroomuitvoering de connector nog een keer aangeroepen met behulp van de locatieheader en huidige status, die in dit voorbeeld gelijk is aan 1.
- Omdat de status nu gelijk is aan 1, wordt via de connector de juiste API aangeroepen waarmee de geschikte filters worden ingesteld, zodat de juiste gegevens worden geretourneerd. In dit voorbeeld worden deze via de connector omgezet in een gefilterde query die aangeeft dat de aanmaakdatum later is dan een bepaalde tijdstempel.
- In dit voorbeeld zijn er geen nieuwe gegevens van na de aanmaakdatum, daarom is via de connector een lege set waarden teruggestuurd.
- De connector retourneert vervolgens een 202 Geaccepteerd-bericht, een interval voor nieuwe poging, en een locatieheader waarin de status niet is gewijzigd.
- Nadat er opnieuw een time-out is opgetreden voor het interval voor nieuwe poging, wordt tijdens de stroomuitvoering de connector nog een keer aangeroepen met behulp van dezelfde locatieheader en status.
- Opnieuw worden via de connector de geschikte filters ingesteld met behulp van de aanmaakdatum.
- Deze keer zijn er wel nieuwe gegevens beschikbaar sinds de aanmaakdatum, waardoor via de back-end de waarden van alle nieuwe gegevens worden geretourneerd naar de connector.
- De connector retourneert vervolgens een 200 OK-bericht, een interval voor nieuwe poging, de locatie met een nieuwe statuswaarde, en een matrix met waarden die alle nieuwe gegevens bevat die na de aanmaakdatum beschikbaar zijn geworden. Op dit moment wordt de stroom gestart.
Poll-triggers maken vanuit de gebruikersinterface
In deze sectie wordt gedemonstreerd hoe u een poll-trigger maakt in de gebruikersinterface van Power Automate. In deze procedure gebruikt u de voorbeeldservice TripPin als uitgangspunt. De TripPin-service is een zeer eenvoudige REST API die een lijst met personen bevat en welke reizen deze personen hebben gemaakt.
Als u de TripPin-service wilt gebruiken, moet u eerst dynamisch de URL’s maken die zijn vereist voor de service. Voer https://services.odata.org/TripPinRESTierService in de adresbalk van uw browser in. Hiermee worden de metagegevens geretourneerd die zijn vereist voor deze demonstratie. Kopieer de metagegevens en sla deze op in een bestand voor later gebruik.
De TripPin-service instellen en de poll-trigger maken:
Selecteer in Power Automate het tabblad Gegevens > Aangepaste connectoren .
Selecteer in het deelvenster Aangepaste connectoren de optie Nieuwe aangepaste connector en selecteer vervolgens Geheel nieuw maken.
Voer in het dialoogvenster Een aangepaste connector maken de naam van uw aangepaste connector in (in dit voorbeeld kunt u Polling Test gebruiken) en selecteer vervolgens Doorgaan.
Geef op de pagina Algemeen een beschrijving en host op. In dit voorbeeld gebruikt u de services.odata.org-URL die als host is geretourneerd in de TripPin-metagegevens.
Parameter Value Omschrijving 'TripPin is een voorbeeld van een reiswebsite.' Gastheer 'services.odata.org'
Kies op de pagina Beveiliging de optie Geen authenticatie als het authenticatietype.
Kies op de pagina Definitie de optie + Nieuwe trigger en vul de beschrijving voor uw trigger in. In dit voorbeeld maakt u een trigger die wordt geactiveerd wanneer een nieuwe reis wordt toegevoegd aan het reisschema van een persoon.
Parameter Value Samenvatting 'Wordt geactiveerd wanneer een nieuwe reis wordt toegevoegd' Omschrijving 'Wordt geactiveerd wanneer een nieuwe reis wordt toegevoegd' Operatie-ID 'OnNewTrip' Zichtbaarheid 'geen' (raadpleeg lijst hieronder voor meer informatie) Triggertype 'Polling' De eigenschap Zichtbaarheid voor bewerkingen en parameters in een stroom heeft de volgende opties:
- geen: normaal weergegeven in de stroom
- geavanceerd: verborgen onder een extra menu
- intern: verborgen voor de gebruiker
- belangrijk: wordt altijd eerst aan de gebruiker getoond
In het gebied Aanvraag wordt informatie weergegeven op basis van de HTTP-aanvraag voor de actie. Kies Importeren uit voorbeeld.
In het deelvenster Importeren uit voorbeeld definieert u de aanvraag voor de polling-trigger. Voor het werkwoord, select GET. Kopieer het URL-adres in de metagegevens naar URL in het deelvenster Importeren uit voorbeeld in de metagegevens die u hebt ontvangen toen u dynamisch de vereiste URL's voor de service hebt gemaakt. Voeg na het adres
/People('{Person}')/Trips?$filter=TripId gt 0&$orderby=TripId desctoe. Bijvoorbeeld:https://services.odata.org/TripPinRESTierService/(S(<service number>))/People('{Person}')/Trips?$filter=TripId gt 0&$orderby=TripId descNotitie
Zorg ervoor dat u het daadwerkelijke nummer uit uw metadata gebruikt in plaats van <servicenummer> in de URL.
In dit URL-voorbeeld maakt u een verzoek voor een individuele persoon en is
{Person}een runtimevariabele die een gebruiker in de stroom kan opgeven. Vervolgens geeft u op dat u de reizen wilt ophalen voor de specifieke persoon die de gebruiker invoert.Maar u wilt niet alle reizen ophalen. U wilt alleen de reizen ophalen die nieuw zijn sinds de laatst uitgevoerde poll. De
$filter=TripId gt 0expressie haalt de nieuwe reizen op door de TripId's te retourneren van alle reizen die groter zijn dan de eerder gepolste TripId's. Het nummer0dat hier wordt gebruikt, wordt automatisch bijgewerkt telkens wanneer er een polling-trigger plaatsvindt.Bovendien geeft de
$orderby=TripId descexpressie aan dat de volgorde van de gegevens wordt geretourneerd als de TripId in aflopende volgorde. Retourneren in aflopende volgorde is vereist voor de trigger. Dit wil zeggen dat de resultaten die met de back-endservice worden geretourneerd, in de omgekeerde volgorde moeten zijn gesorteerd in de triggerparameter, zodat de meest recente parameter (zoals de TripId in dit voorbeeld) de eerste waarde is die wordt geretourneerd in de gegevensmatrix.
Selecteer de knop Importeren om de voorbeeldgegevens te importeren. In het aanvraaggebied worden nu het werkwoord, de URL, het pad en de queryparameters weergegeven.
Selecteer in het aanvraaggebied de queryparameter $filter en kies vervolgens Bewerken om het dialoogvenster Parameter te openen.
In het dialoogvenster Parameter voor
$filterstelt u de Zichtbaarheid selectie in op intern. Deze parameter wordt alleen intern gebruikt voor de connector, waardoor de gebruiker geen wijzigingen kan aanbrengen. Zie de x-ms-visibility OpenAPI extensie voor meer informatie over de zichtbaarheidsinstellingen.Selecteer Terug om terug te keren naar het aanvraaggebied.
Selecteer in het aanvraaggebied de queryparameter $orderby en kies vervolgens Bewerken om het dialoogvenster Parameter te openen.
In het dialoogvenster Parameter voor
$orderbystelt u de selectie Is vereist? in op Ja en de selectie Zichtbaarheid op intern. Door deze instellingen wordt opnieuw voorkomen dat de gebruiker wijzigingen aanbrengt aan deze parameter.Voer daarnaast TripId desc in als waarde in het vak Standaardwaarde . Deze instellingen zorgen ervoor dat de resultaten in omgekeerde volgorde worden gegeven.
Selecteer Terug om terug te keren naar het vorige gebied.
In het gebied Response wordt informatie weergegeven op basis van het HTTP-antwoord voor de actie. Selecteer Standaardantwoord toevoegen.
Definieer de respons voor de polling-trigger en kies vervolgens Importeren. Gebruik het onderstaande voorbeeld voor de hoofdtekst van het antwoord, waarmee automatisch een schema voor het antwoord wordt samengesteld.
{ "@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" } ] }Notitie
Zorg ervoor dat u het daadwerkelijke nummer uit uw metadata gebruikt in plaats van <servicenummer> in de URL.
Selecteer in het gebied Triggerconfiguratie de parameter die wordt gebruikt om de statuswijziging van TripPin te bewaken. In dit voorbeeld is de parameter die u moet invoeren
$filter.Gebruik in dit voorbeeld de volgende expressie in Geef de waarde op die moet worden doorgegeven aan de geselecteerde queryparameter:
TripId gt @{triggerBody().value[0].TripId}Deze expressie wordt gebruikt om de meest recente resultaten op te halen wanneer de trigger wordt uitgevoerd. In de expressie die u hier gebruikt, wordt de trigger uitgevoerd als
TripIdgroter is dan de waarde die door de rest van de expressie wordt geretourneerd. AlsTripIdniet groter is dan de waarde die door de rest van de expressie wordt geretourneerd, vindt er geen trigger plaats.Kies in de Selecteer verzameling die triggergegevens bevat de optie @triggerBody().value. Dit is de matrix die de triggergegevens bevat die via de back-endservice worden geretourneerd.
Selecteer bovenaan de wizard Connector maken.
Poll-trigger gebruiken
Nu u alles hebt geconfigureerd, kunt u de poll-trigger gebruiken in een stroom. In deze sectie maakt u een stroom waarmee de back-endservice wordt gecontroleerd op wijzigingen telkens wanneer een nieuwe reis wordt vastgelegd voor een specifieke persoon.
In flow.microsoft.com, aan de linkerkant van de pagina, kiest u Maken.
Onder Beginnen vanaf leeg kiest u Directe stroom.
Selecteer in het dialoogvenster Een directe stroom opbouwen de knop Overslaan .
Voer in het zoekvak Triggers wanneer een nieuwe reis wordt toegevoegd in.
Kies het item in de lijst dat u als trigger wilt gebruiken.
Voer in het vak Persoon stroom russellwhyte in voor de persoon wiens ritten u wilt bekijken en selecteer vervolgens + Nieuwe stap.
Selecteer in het dialoogvenster Kies een actie het tabblad Ingebouwd en selecteer vervolgens Datum tijd.
Selecteer uit Datum tijdHuidige tijd.
Selecteer Opslaan om de nieuwe stroom op te slaan.
Fouten controleren en oplossen
Controleer of alles correct is ingesteld door Mijn stromen te selecteren en vervolgens de stroom Triggers wanneer een nieuwe reis wordt toegevoegd - > Huidige tijd te selecteren om de uitvoeringsgeschiedenis te bekijken. Omdat de stroom nog niet is uitgevoerd, wordt er op dit moment niets weergegeven in de geschiedenis.
Als u de stroom wilt testen, moet u de toepassing Postman openen om nieuwe gegevens toe te voegen aan TripPin.
Selecteer in Postman het pictogram + naast het tabblad Launchpad .
Selecteer in het naamloze verzoek POST in het keuzemenu aan de linkerkant en voer vervolgens het volgende adres in het vak Voer verzoek-URL in in:
https://services.odata.org/TripPinRESTierService/(S(<Service number))/People('russellwhyte')/TripsNotitie
Zorg ervoor dat u het daadwerkelijke nummer uit uw metadata gebruikt in plaats van <servicenummer> in de URL.
Selecteer onder de POST-aanvraag het tabblad Body en kies vervolgens raw. Selecteer in de vervolgkeuzelijst rechts van raw de optie JSON.
Voer de volgende tekst in het tekstvak in:
{ "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" }Selecteer Verzenden om het POST-bericht naar de TripPin-site te verzenden.
Het antwoord moet terugkeren met de status
201 Created.
Wanneer u nu Mijn stromen opent en de stroom Triggers wanneer een nieuwe reis wordt toegevoegd - > Huidige tijd kiest, ziet u in de uitvoeringsgeschiedenis dat er een trigger heeft plaatsgevonden.
Notitie
Als u nog een POST-aanvraag uitvoert in Postman voor dezelfde persoon, moet u de TripId-waarde in de JSON-hoofdtekst wijzigen. Anders treedt er een 409 Conflict-fout op.
Als alles juist is geconfigureerd, ontvangt u nu meldingen in Microsoft Power Automate telkens wanneer een nieuwe reis wordt toegevoegd in TripPin.
Zie ook
- Een aangepaste connector voor een web-API maken
- Verifieer uw API en connector met Microsoft Entra ID
Feedback geven
We stellen feedback over problemen met ons connectorplatform of ideeën voor nieuwe functies zeer op prijs. Als u feedback wilt geven, gaat u naar Problemen indienen of hulp krijgen met connectoren en selecteert u het type feedback.