Egyéni lekérdezéses trigger használata a Microsoft Power Automate-hez

A ciklikus lekérdezéses eseményindító alapvetően egy olyan esemény, amely rendszeres időközönként hívást indít az Ön szolgáltatása felé, hogy új adatokat kérjen le. A ciklikus lekérdezéses eseményindítók abban térnek el a webhookoktól, hogy míg a ciklikus lekérdezéses eseményindító egy eseményt indít el annak megállapítására, hogy elérhető-e új adat, addig a webhookok a szolgáltatástól leküldéssel továbbított új adatokra reagálnak. Miután a folyamat megállapította, hogy új adatok érhetők el, Ön műveletet hajthat végre ezekkel az adatokkal. Ez az oktatóanyag bemutatja, hogyan használható egy ciklikus lekérdezéses eseményindító új adatok proaktív lekéréséhez.

Előfeltételek

A ciklikus lekérdezéses eseményindítók működése

A ciklikus lekérdezéses eseményindító egy állapot beállítása után rendszeres időközönként ellenőrzi, hogy vannak-e rendelkezésre álló frissítések. Ezután az utolsó állapotfrissítés óta keletkezett összes új adatot lekéri. Emellett az eseményindító a lekérések közötti állapotkörnyezetet is fenntartja.

Az alábbi példa alapszintű áttekintést nyújt arról, hogy a ciklikus lekérdezéses eseményindító hogyan szerzi be az új adatokat.

A ciklikus lekérdezéses eseményindítók adatszerzése

  1. A folyamat futtatókörnyezete egy kezdeti hívást indít az eseményindítón az összekötőn lévő API felé.

  2. Ezután az összekötő meghívja a háttérszolgáltatást.

  3. A háttérszolgáltatás az összes aktuális adatot visszaküldi az összekötőnek.

  4. Az összekötő erre visszaad egy 202-es (elfogadva) üzenetet, egy újrapróbálkozási időközt és egy aktuális állapotot tartalmazó helyfejlécet. Az újrapróbálkozási időköz másodpercben van megadva. Az első hívás mindig az adatok előzetes állapotának megállapítására szolgál.

  5. Miután az újrapróbálkozási időköz lejárt, a folyamat futtatókörnyezete egy másik hívást kezdeményez az összekötő felé a helyfejléc és az aktuális állapot felhasználásával, amely ebben a példában 1-gyel egyenlő.

  6. Mivel az állapot értéke 1, az összekötő meg tudja hívni a megfelelő szűrést végző API-t, így a rendszer a megfelelő adathalmazt adja vissza. Ebben a példában az összekötő ezt egy szűrt lekérdezésre fordítja le, amelyben a létrehozás dátuma nagyobb, mint egy adott időbélyeg.

  7. Ebben a példában a létrehozási dátum óta nem születtek új adatok, ezért a rendszer egy üres értékhalmazt küld vissza az összekötőnek.

  8. Az összekötő ezután visszaadja a 202-es (elfogadva) üzenetet, egy újrapróbálkozási időközt és egy olyan helyfejlécét, amelyben az állapot nem módosult.

  9. Az újrapróbálkozási időköz ismételt lejárta után a folyamat futtatókörnyezete egy másik hívást indít az összekötő felé, változatlan helyfejléccel és állapottal.

  10. Az összekötő ismételten végrehajtja a megfelelő szűrést a létrehozási dátum alapján.

  11. Ezúttal új adatok váltak elérhetővé a létrehozási dátum óta, így a háttérrendszer az összes új adat értékét visszaadja az összekötőnek.

  12. Az összekötő ezután visszaad egy 200-as OK üzenetet, egy újrapróbálkozási időközt, egy új állapotértékkel kiegészülő helyet, valamint a létrehozási dátum után elérhetővé vált összes új adatot tartalmazó értéktömböt. Ezen a ponton a folyamat elindul.

Lekérdezéses eseményindítók létrehozása a felhasználói felületről

Ez a szakasz bemutatja, hogyan hozhat létre lekérdezéses eseményindítókat a Power Automate felhasználói felületén. Kiindulási pontként a példának megadott TripPin szolgáltatást fogjuk használni. A TripPin szolgáltatás egy rendkívül egyszerű REST API, amely személyek listáját és az általuk készített utakat tartalmazza.

A TripPin használatához először dinamikusan létre kell hoznia a szolgáltatáshoz szükséges URL-címeket. Írja be a következőt a böngésző címsorába: https://services.odata.org/TripPinRESTierService. Ez a jelen bemutatóhoz szükséges metaadatokat adja vissza. Másolja ki és mentse a metaadatokat egy fájlba későbbi használat céljából.

A TripPin szolgáltatás beállításához és a ciklikus lekérdezéses eseményindító létrehozásához tegye a következőket:

  1. A Power Automate-ben válassza az Adatok > Egyéni összekötők lapot.

  2. Az Egyéni összekötők panelen válassza az Új egyéni összekötő, majd az Üres folyamat létrehozása lehetőséget.

  3. Az Új egyéni összekötő létrehozása párbeszédpanelen adja meg az egyéni összekötő nevét (ebben a példában használhatja a Polling Test nevet), majd válassza a Folytatás gombot.

  4. Az Általános lapon adjon meg egy leírást és egy gazdagépet. Ebben a példában a TripPin metaadatai között visszaadott services.odata.org URL-címet fogja használni gazdagépként.

    Paraméter Value
    Leírás „A TripPin egy például szolgáló utazási webhely.”
    Állomás „services.odata.org”

    Leírás és gazdagép hozzáadása

  5. A Biztonság lapon válassza a Nincs hitelesítés lehetőséget hitelesítési típusként.

    Ciklikus lekérdezés hitelesítése

  6. A Definíció lapon válassza a + Új eseményindító lehetőséget, majd töltse ki az eseményindító leírását. Ebben a példában olyan eseményindítót hoz létre, amely akkor aktiválódik, amikor egy új utazás kerül be valakinek az útitervébe.

    Új eseményindító létrehozása

    Paraméter Value
    Összegzés „Új utazás megadásakor aktiválódik”
    Leírás „Új utazás megadásakor aktiválódik”
    Műveletazonosító „OnNewTrip”
    Láthatóság „egyik sem” (további információért lásd az alábbi listát)
    Eseményindító típusa „Ciklikus lekérdezéses”

    A folyamat műveleteire és paramétereire vonatkozó Láthatóság tulajdonság a következő beállításokkal rendelkezik:

    • nincs: normálisan jelenik meg a folyamatban
    • fejlett: Egy további menü alatt elrejtve található
    • belső: A felhasználók elől rejtve van
    • fontos: mindig elsőként jelenik meg a felhasználó számára
  7. A Kérelem terület a művelet HTTP-kérelme alapján jeleníti meg az információkat. Válassza az Importálás mintából lehetőséget.

    Meghatározás lap – Importálás mintából

  8. Az Importálás mintából panelen kell meghatározni a ciklikus lekérdezéses eseményindítóhoz tartozó kérést. A parancshoz válassza a GET lehetőséget. A szolgáltatáshoz szükséges URL-címek dinamikus létrehozásakor kapott metaadatokból másolja át a metaadatokban szereplő URL-címet az URL-cím mezőbe az Importálás mintából panelen. A cím után adja hozzá a következő sztringet: /People('{Person}')/Trips?$filter=TripId gt 0&$orderby=TripId desc. Például:

    https://services.odata.org/TripPinRESTierService/(S(<service number>))/People('{Person}')/Trips?$filter=TripId gt 0&$orderby=TripId desc

    Megjegyzés

    Ügyeljen rá, hogy a metaadatokból származó tényleges számot, és ne a <szolgáltatás száma> értéket használja az URL-címben.

    Ebben az URL-címben egy adott személyre vonatkozó kérést hoz létre, és a {Person} egy futásidejű változó, amelyet a felhasználó megadhat a folyamaton belül. Ezután meg kell adnia, hogy azon személy utazásait szeretné lekérni, akit a felhasználó megad.

    Az összes utazás helyett azonban csak azokat szeretnénk lekérni, amelyek a legutóbbi lekérdezés óta lettek hozzáadva. A $filter=TripId gt 0 kifejezés úgy adja vissza az új utakat, hogy csak a korábban lekérdezett TripId értékeknél nagyobb TripId értékű utakat adja ki. Az itt használt 0 számot a rendszer minden alkalommal automatikusan frissíti, amikor egy ciklikus lekérdezéses eseményindító aktiválódik.

    Emellett az $orderby=TripId desc kifejezés azt jelzi, hogy az adatokat a rendszer a TripId szerinti csökkenő sorrendben adja ki. A csökkenő sorrendet az eseményindító teszi szükségessé. A háttérszolgáltatás által visszaadott eredményeknek az eseményindító paraméterben megfordított sorrendben kell szerepelniük, hogy a legutóbbi paraméter (ebben az esetben TripId) legyen az adattömbben elsőként visszaadott érték.

    Az Importálás mintából menü

    Válassza az Importálás gombot a mintaadatok importálásához. A kérés területén megjelenik a parancs, az URL-cím, az elérési út és a lekérdezési paraméterek.

  9. A kérés területén válassza a $filter lekérdezési paramétert, majd a Szerkesztés lehetőséget a Paraméter párbeszédpanel megjelenítéséhez.

    A szűrőparaméter szerkesztése

  10. A $filter Paraméter párbeszédpanelének Láthatóság eleménél adja meg a belső lehetőséget. Ezt a paramétert csak belsőleg használja az összekötő, ami megakadályozza, hogy a felhasználó változásokat eszközöljön rajta. A láthatósági beállításokkal kapcsolatos további információkért tekintse meg az x-ms-visibility OpenAPI bővítményt.

    Válassza a Vissza lehetőséget a kérési területre való visszatéréshez.

    A szűrőparaméter szerkesztése

  11. A kérés területén válassza az $orderby lekérdezési paramétert, majd a Szerkesztés lehetőséget a Paraméter párbeszédpanel megjelenítéséhez.

  12. Az $orderby Paraméter párbeszédpanelén Kötelező? beállítása legyen Igen, a Láthatóság elemnél pedig állítsa be a belső lehetőséget. Ezek a beállítások megint csak a felhasználó általi módosítások megakadályozására szolgál.

    Írja be a TripId desc (TripID leír.) értéket az Alapértelmezett érték mezőbe. Ezek a beállítások gondoskodnak róla, hogy az eredményeket a rendszer fordított sorrendben adja ki.

    Válassza a Vissza lehetőséget az előző területre való visszatéréshez.

    Az orderby paraméter szerkesztése

  13. A Válasz terület a művelet HTTP-válasza alapján jeleníti meg az információkat. Válassza az Alapértelmezett válasz hozzáadása lehetőséget.

    Alapértelmezett ciklikus lekérdezési válasz hozzáadása

  14. Határozza meg a ciklikus lekérdezéses eseményindítóhoz tartozó választ, majd válassza az Importálás elemet. A válasz törzséhez használja az alább megadott mintát, amely automatikusan létrehoz a válaszhoz egy sémát.

    Ciklikus lekérdezési válasz törzsének megadása

    
    {
        "@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"
            }
        ]
    }   
    

    Megjegyzés

    Ügyeljen rá, hogy a metaadatokból származó tényleges számot, és ne a <szolgáltatás száma> értéket használja az URL-címben.

  15. Az Eseményindító konfigurálása területen válassza ki a TripPin állapotváltozásait monitorozó paramétert. Ebben a példában a választandó paraméter a $filter.

    Ebben a példában használja a következő kifejezést az Adja meg a kiválasztott lekérdezési paraméternek átadni kívánt értéket elemnél:

    TripId gt @{triggerBody().value[0].TripId}

    Ez a kifejezés lekéri a legújabb eredményeket, amikor az eseményindító fut. Az itt használt kifejezésben, ha a TripId meghaladja a kifejezés többi része által visszaadott értéket, az eseményindító aktiválódni fog. Ha a TripId nem haladja meg a kifejezés többi része által visszaadott értéket, az eseményindító nem fog aktiválódni.

    A Válassza ki a triggeradatokat tartalmazó gyűjteményt elemnél válassza a @triggerBody ().value értéket. Ez az a tömb, amelyben a háttérszolgáltatás által visszaadott eseményindítói adatok találhatóak.

    A ciklikus lekérdezéses eseményindító konfigurációja

  16. A varázsló felső részen válassza az Összekötő létrehozása lehetőséget.

A ciklikus lekérdezéses eseményindító használata

Most, hogy elvégezte a konfigurációt, elkezdheti használni a ciklikus lekérdezéses eseményindítót egy folyamatban. Ebben a szakaszban egy olyan folyamatot fog létrehozni, amely lekérdezi a háttérszolgáltatás változásait, amikor egy adott személy új utat rögzít.

  1. A flow.microsoft.com webhely bal oldalán válassza a Létrehozás lehetőséget.

  2. A Kiindulás üres alkalmazásból menüpontban válassza az Azonnali folyamat lehetőséget.

  3. Az Azonnali folyamat létrehozása párbeszédpanelen válassza a Kihagyás gombot.

  4. Írja be a keresőmezőbe az Új utazás megadásakor aktiválódik kifejezést.

    Képernyőkép, amelyen a keresőszöveg látható a keresőmezőben.

    Kattintson az elemre a listában annak eseményindítóként való használatához.

  5. A Személy folyamatmezőbe írja be a russellwhyte nevet. Ez lesz az a személy, akinek az utazásait ellenőrzi. Válassza az + Új lépés elemet.

    Képernyőkép a Személy mezőről és az Új lépés gombról.

  6. A Művelet kiválasztása párbeszédpanelen válassza a Beépített lapot, majd a Dátum és idő elemet.

    Képernyőkép a Művelet kiválasztása párbeszédpanelről.

  7. A Dátum és idő lapon válassza ki az Aktuális idő lehetőséget.

    Képernyőkép az Aktuális idő gombbal.

  8. Az új folyamat mentéséhez kattintson a Mentés gombra.

Ellenőrzés és hibaelhárítás

A beállítások helyességének ellenőrzéséhez válassza a Saját folyamatok elemet, és az Új utazás megadásakor aktiválódik -> Aktuális idő lehetőséget kiválasztva tekintse át a futtatási előzményeket. Mivel a folyamat még nem futott, elméletileg semmi nem jelenik meg az előzményekben.

A folyamat teszteléséhez meg kell nyitnia a Postman alkalmazást, hogy új adatot adjon hozzá a TripPinhez.

  1. A Postman alkalmazásban válassza ki a + ikont a Launchpad mellett.

  2. A névtelen kérésben válassza ki a POST elemet a bal oldali legördülő listából, majd írja be a következő címet az Enter request URL (Írja be a kérelem URL-címét) mezőbe:

    https://services.odata.org/TripPinRESTierService/(S(<Service number))/People('russellwhyte')/Trips

    Megjegyzés

    Ügyeljen rá, hogy a metaadatokból származó tényleges számot, és ne a <szolgáltatás száma> értéket használja az URL-címben.

  3. A POST kérelem alatt válassza ki a Body (Törzs) elemet, majd a raw (nyers) lehetőséget. A raw elem jobb oldalán lévő legördülő listából válassza ki a JSON lehetőséget.

  4. A szövegmezőbe írja be a következőt:

    {
         "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"
    }
    
  5. Kattintson a Send (Küldés) gombra, hogy elküldje a POST-üzenetet a TripPin oldalára.

    A POST-üzenet elküldése

    A válasznak 201 Created állapotot kell visszaadnia.

Most, amikor megnyitja a Saját folyamatok elemet, és kiválasztja az Új utazás megadásakor aktiválódik –> Aktuális idő folyamatot, a futtatási előzményekben látni fogja, hogy az eseményindító aktiválódott.

Aktiválódott eseményindító

Megjegyzés

Ha egy ugyanarra a személyre vonatkozó másik POST kérelmet is futtat, módosítania kell a TripId értéket a JSON-törzsben. Ellenkező esetben 409-es ütközési hiba következik be.

Összesítés

Ha mindent helyesen konfigurált, akkor ezentúl értesítést kap a Microsoft Power Automate-ben, amikor a TripPinhez új utat adnak hozzá.

További lépések

Visszajelzés küldése

Nagyra értékeljük az összekötőplatform problémáival kapcsolatos visszajelzéseket és az új funkciókkal kapcsolatos ötleteket. Ha visszajelzést szeretne küldeni, lépjen a Problémák küldése vagy segítség kérése az összekötőkkel kapcsolatban részre, és válassza ki a visszajelzés típusát.