Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik: Azure Logic Apps (Felhasználás + Standard)
Ha azt szeretné, hogy egy munkafolyamat-eseményindító vagy -művelet megvárja, amíg az események vagy adatok meg fognak érkezni a célszolgáltatás végpontjához a futtatás előtt, használja a HTTP Webhook eseményindítót vagy műveletet ahelyett, hogy proaktív módon ellenőriznénk a végpontot egy ütemezés szerint. A HTTP Webhook-eseményindító vagy -művelet feliratkozik a szolgáltatásvégpontra, és a futtatás előtt új eseményekre vagy adatokra vár. A webhookmintát hosszú ideig futó feladatokhoz és aszinkron feldolgozáshoz használhatja.
Az alábbi lista a webhookalapú példákat ismerteti:
- Egy HTTP Webhook eseményindító megvárja, amíg egy esemény megérkezik Azure Event Hubs a munkafolyamat futtatása előtt.
- Egy HTTP Webhook művelet megvárja a jóváhagyást a Office 365 Outlook, mielőtt folytatná a munkafolyamat következő műveletét.
Ez az útmutató bemutatja, hogyan állíthatja be a HTTP Webhook-eseményindítót és a HTTP Webhook műveletet, hogy a munkafolyamat fogadhassa és válaszolhassa meg az új eseményeket vagy adatokat egy szolgáltatásvégponton.
Hogyan működnek a webhookok?
A webhook-eseményindítók vagy -műveletek nem kérdezik le vagy nem ellenőrzik proaktívan az új eseményeket vagy adatokat a célszolgáltatás végpontján. Ehelyett az eseményindító vagy a művelet megvárja, amíg az új események vagy adatok meg nem érkeznek a szolgáltatásvégpontra a futtatás előtt. Miután hozzáadott egy webhook-eseményindítót vagy -műveletet a munkafolyamathoz, majd mentette a munkafolyamatot, vagy miután újra üzembe helyezett egy letiltott logikai alkalmazás-erőforrást, a webhook-eseményindító vagy -művelet előfizet a szolgáltatásvégpontra egy visszahívási URL-cím létrehozásával és a végponttal való regisztrálásával. Az eseményindító vagy művelet ezután megvárja, amíg a szolgáltatásvégpont meghívja az ESEMÉNYINDÍTÓt vagy műveletet futtató URL-címet. A Kérelem eseményindítóhoz hasonlóan egy HTTP Webhook-eseményindító is azonnal aktiválódik.
A Office 365 Outlook összekötő művelet neve például Send jóváhagyási e-mail a webhook mintát követi, de csak a Office 365 Outlook működik. A webhookmintát bármely szolgáltatásra kiterjesztheti a HTTP Webhook-eseményindítóval vagy a kívánt szolgáltatásvégponttal végzett művelettel.
A webhook-eseményindítók addig maradnak előfizetve egy szolgáltatásvégpontra, amíg manuálisan nem hajtja végre az alábbi műveletek egyikét:
- Módosítsa az eseményindító paraméterértékeit.
- Törölje az eseményindítót, majd mentse a munkafolyamatot.
- Tiltsa le a logikai alkalmazás erőforrását.
A webhook-műveletek csak akkor maradnak előfizetve egy szolgáltatásvégpontra, ha az alábbi feltételek valamelyike teljesül:
- A webhook művelet sikeresen befejeződött.
- A válaszra való várakozás közben megszakítja a munkafolyamat futtatását.
- A munkafolyamat túllépi az időkorlátot.
- A webhook-eseményindítók által bemenetként használt webhook műveleti paraméter értékeit módosíthatja.
További információkért lásd:
- Webhookok és előfizetések
- Webhookot támogató egyéni API-k létrehozása
- Más szolgáltatásokra és rendszerekre irányuló kimenő hívások elérése
Előfeltételek
Egy Azure fiók és előfizetés. Ingyenes Azure fiók létrehozása.
Egy üzembe helyezett szolgáltatásvégpont vagy API URL-címe.
Ennek az elemnek támogatnia kell a "feliratkozás és leiratkozás" mintát a munkafolyamatokban lévő webhook-eseményindítókhoz vagy a munkafolyamatok webhookműveleteihez.
A Standard vagy a Consumption logikai alkalmazás munkafolyamata, ahol a HTTP Webhook-eseményindítót vagy -műveletet szeretné használni.
- A HTTP Webhook-eseményindító használatához hozzon létre egy logikaialkalmazás-erőforrást egy üres munkafolyamattal.
- A HTTP Webhook művelet használatához indítsa el a munkafolyamatot a forgatókönyvéhez legjobban megfelelő eseményindítóval. A példák a HTTP Webhook eseményindítót használják.
HTTP Webhook-eseményindító hozzáadása
Ez a beépített eseményindító meghívja a feliratkozási végpontot a célszolgáltatáson, és regisztrál egy visszahívási URL-címet a célszolgáltatásban. A munkafolyamat ezután megvárja, amíg a célszolgáltatás kérést HTTP POST küld a visszahívási URL-címre. Amikor ez az esemény bekövetkezik, az eseményindító aktiválódik, és átadja a kérelemben szereplő adatokat a munkafolyamatnak.
A Azure portálon nyissa meg a logikai alkalmazás erőforrását. Nyissa meg az üres munkafolyamatot a tervezőben.
Az általános lépéseket követve adja hozzá a HTTP Webhook nevű eseményindítót a munkafolyamathoz.
Ez a példa leíróbb névként nevezi át az eseményindítót
Run HTTP Webhook trigger. A példa később egy HTTP Webhook-műveletet is hozzáad. Mindkét névnek egyedinek kell lennie.A HTTP Webhook eseményindító paramétereinél adja meg a feliratkozási és leiratkozási hívások értékeit:
Paraméter Kötelező Leírás Feliratkozási módszer Igen A célvégpontra való feliratkozáshoz használt módszer. URI feliratkozás Igen A célvégpontra való feliratkozáshoz használandó URL-cím. Feliratkozási szövegtörzs Nem Az előfizetési kérelemhez mellékelhető bármely üzenettörzs. Ez a példa magában foglalja a visszahívási URL-címet, amely egyedileg azonosítja az előfizetést, vagyis az Ön munkafolyamatát. Ez a kifejezésfüggvény használatával listCallbackUrl()történik, az eseményindító visszahívási URL-címének lekéréséhez.Leiratkozási szöveg Nem Bármilyen üzenettörzs, amelyet bele kell foglalni a leiratkozási kérelembe. A kifejezésfüggvény használatával listCallbackUrl()lekérheti a művelet visszahívási URL-címét. Az eseményindító azonban automatikusan tartalmazza és elküldi a fejléceket,x-ms-client-tracking-idésx-ms-workflow-operation-name, amelyeket a célszolgáltatás az előfizető egyedi azonosítására használhat.Egyéb triggerparaméterek hozzáadásához nyissa meg a Speciális paraméterek listát.
Ha például a Leiratkozás metódust és a Leiratkozás URI-paramétereket szeretné használni, vegye fel őket a Speciális paraméterek listából.
Az alábbi példa egy eseményindítót mutat be, amely tartalmazza a feliratkozási és leiratkozási metódusokhoz használandó metódusokat, URI-kat és üzenettörzseket:
Ha hitelesítést kell használnia, adja hozzá a Feliratkozási hitelesítés és a Leiratkozás hitelesítési paramétereit a Speciális paraméterek listájából.
A HTTP Webhook által elérhető hitelesítési típusokkal kapcsolatos további információkért lásd: Hitelesítés hozzáadása kimenő hívásokhoz.
Adjon hozzá minden egyéb olyan műveletet, amire a forgatókönyvnek szüksége van.
Ha végzett, mentse a munkafolyamatot. A tervező eszköztárán válassza a Mentés lehetőséget.
A munkafolyamat mentése meghívja a feliratkozási végpontot a célszolgáltatásban, és regisztrálja a visszahívási URL-címet. A munkafolyamat megvárja, amíg a célszolgáltatás kérést HTTP POST küld a visszahívási URL-címre. Amikor ez az esemény bekövetkezik, az eseményindító elindítja és átadja a kérelemben szereplő adatokat a munkafolyamatnak. Ha a művelet sikeresen befejeződött, az eseményindító leiratkozik a végpontról, és a munkafolyamat a következő műveletig folytatódik.
HTTP-webhook-művelet hozzáadása
Ez a beépített művelet meghívja az előfizetési végpontot a célszolgáltatáson, és regisztrál egy visszahívási URL-címet a célszolgáltatásban. A munkafolyamat ezután megszakítja magát, és megvárja, amíg a célszolgáltatás egy HTTP POST kérést küld a visszahívási URL-címre. Amikor ez az esemény bekövetkezik, a művelet átadja a kérelemben szereplő adatokat a munkafolyamatnak. Ha a művelet sikeresen befejeződött, a művelet leiratkozik a végpontról, és a munkafolyamat a következő műveletet folytatja.
A Azure portálon nyissa meg a logikai alkalmazás erőforrását. A tervezőben nyissa meg a munkafolyamatot.
Az általános lépéseket követve adja hozzá a HTTP Webhook nevű műveletet a munkafolyamathoz.
Ez a példa leíróbb névként nevezi át a műveletet
Run HTTP Webhook action. Ha a munkafolyamat a HTTP Webhook-eseményindítót is használja, mindkét névnek egyedinek kell lennie.A HTTP Webhook műveleti paramétereihez adja meg a feliratkozási és leiratkozási hívásokhoz használandó értékeket:
Paraméter Kötelező Leírás Feliratkozási módszer Igen A célvégpontra való feliratkozáshoz használt módszer. URI feliratkozás Igen A célvégpontra való feliratkozáshoz használandó URL-cím. Feliratkozási szövegtörzs Nem Az előfizetési kérelemhez mellékelhető bármely üzenettörzs. Ez a példa magában foglalja a visszahívási URL-címet, amely egyedileg azonosítja az előfizetőt, vagyis a munkafolyamatot a kifejezésfüggvény használatával listCallbackUrl()a művelet visszahívási URL-címének lekéréséhez.Leiratkozási szöveg Nem Bármilyen üzenettörzs, amelyet bele kell foglalni a leiratkozási kérelembe. A kifejezésfüggvény használatával listCallbackUrl()lekérheti a művelet visszahívási URL-címét. A művelet azonban automatikusan tartalmazza és elküldi a fejléceket,x-ms-client-tracking-id,x-ms-workflow-operation-name, amelyeket a célszolgáltatás felhasználhat az előfizető egyedi azonosítására.További műveleti paraméterek hozzáadásához nyissa meg a Speciális paraméterek listáját.
Ha például a Leiratkozás metódust és a Leiratkozás URI-paramétereket szeretné használni, vegye fel őket a Speciális paraméterek listából.
Az alábbi példa egy olyan műveletet mutat be, amely tartalmazza a feliratkozási és leiratkozási metódusokhoz használandó metódusokat, URI-kat és üzenettörzseket:
Ha hitelesítést kell használnia, adja hozzá a Feliratkozási hitelesítés és a Leiratkozás hitelesítési paramétereit a Speciális paraméterek listájából.
A HTTP Webhook által elérhető hitelesítési típusokkal kapcsolatos további információkért lásd: Hitelesítés hozzáadása kimenő hívásokhoz.
Adjon hozzá minden egyéb olyan műveletet, amire a forgatókönyvnek szüksége van.
Ha végzett, mentse a munkafolyamatot. A tervező eszköztárán válassza a Mentés lehetőséget.
A művelet futtatásakor a munkafolyamat meghívja a célszolgáltatás előfizetési végpontját, és regisztrálja a visszahívási URL-címet. A munkafolyamat szünetel, és várakozik, amíg a célszolgáltatás egy kérést HTTP POST küld a visszahívási URL-címre. Amikor ez az esemény bekövetkezik, a művelet átadja a kérelemben szereplő adatokat a munkafolyamatnak. Ha a művelet sikeresen befejeződött, a művelet leiratkozik a végpontról, és a munkafolyamat a következő műveletet folytatja.
Összekötők műszaki referenciája
A HTTP Webhook eseményindítóiról és műveleti paramétereiről további információt a HTTP Webhook-paraméterekben talál. Az eseményindító és a művelet ugyanazokat a paramétereket használja.
A közös hozzáférésű jogosultságkód (SAS) jogkivonatának lejárata
A HTTP webhook eseményindító vagy művelet visszahívási URL-címét a rendszer automatikusan létrehozza a List Callback Url - REST API metódussal. Alapértelmezés szerint a visszahívási URL-cím SAS-jogkivonata nem rendelkezik időalapú lejárattal. A visszahívási URL-cím a munkafolyamat-futtatás időtartamára érvényes marad.
Időtúllépés határértékei
Az alábbi táblázat a HTTP Webhook-művelet időtúllépési korlátait ismerteti a logikai alkalmazás üzemeltetése lehetőség alapján:
| Üzemeltetési lehetőség | Munkafolyamat típusa | Időtartam |
|---|---|---|
| Fogyasztás | Stateful | Legfeljebb 90 nap. |
| Standard | Stateful | Legfeljebb 30 nap. |
| Standard | Állapot nélküli | 5 perc (rögzített korlát) |
A HTTP Webhook-művelet visszahívási URL-címe érvénytelenné válik a következő események bekövetkezésekor:
- Megszakítja a munkafolyamatot.
- Törölheti vagy letilthatja a munkafolyamat- vagy logikaialkalmazás-erőforrást.
- Elforgathatja a munkafolyamat hozzáférési kulcsait.
- A munkafolyamat túllépi az időkorlátot.
További HTTP-korlátokért lásd: HTTP-korlátok a Azure Logic Apps.
Időtúllépési korlát módosítása
Ha a HTTP Webhook műveletre vonatkozó korlátot szeretné módosítani az állapotalapú munkafolyamatokban a Azure portál használatával, tekintse meg a kimenő HTTP-kérelmek Időkorlátjának táblázatát. Vagy a művelet JSON-definíciójában adja hozzá az limit.timeout objektumot, és állítsa be az értéket a kívánt időtartamra, például:
{
"actions": {
"Run_HTTP_Webhook_action": {
"type": "HttpWebhook",
"inputs": {
"subscribe": {
"method": "POST",
"uri": "https://<external-service>.com/subscribe",
"body": {
"callbackUrl": "@{listCallBackUrl()}"
}
},
"unsubscribe": {}
},
"limit": {
"timeout": "PT1H"
}
}
}
}
Trigger- és műveletkimenetek
Az alábbi táblázatok további információt nyújtanak a HTTP Webhook-eseményindító vagy -művelet által visszaadott kimenetekről:
| JSON-név | Típus | Leírás |
|---|---|---|
headers |
JSON-objektum | A kérés fejlécei. |
body |
JSON-objektum | A kérelem törzstartalmat tartalmazó objektum. |
status code |
egész | A kérés állapotkódja. |
| Állapotkód | Leírás |
|---|---|
| 200 | OKÉ |
| 202 | Elfogadva |
| 400 | Hibás kérés |
| 401 | Nem engedélyezett |
| 403 hibakód | Tiltott |
| 404 | Nem található |
| ötszáz | Belső kiszolgálóhiba. Ismeretlen hiba történt. |
Visszahívási URL-cím létrehozása másodlagos hozzáférési kulccsal
A logikai alkalmazás munkafolyamata két hozzáférési kulcsból áll: elsődleges és másodlagos. Alapértelmezés szerint Azure Logic Apps az elsődleges kulccsal hozza létre a HTTP-webhook-eseményindító visszahívási URL-címét.
Ha a másodlagos kulcsot szeretné használni a visszahívási URL-cím generálásához, kövesse az alábbi lépéseket:
Ha a munkafolyamat-tervezőben van, váltson kódnézetre.
HttpWebhookAz eseményindító definíciójában keresse meg a paramétertaccessKeyType.Adja meg a szót
Secondaryparaméterértékként.Mentse a módosításokat.
Az alábbi példa a webhook triggerdefinícióját mutatja be a accessKeyType következő paraméterrel Secondary:
{
"type": "HttpWebhook",
"inputs": {
"subscribe": {
"method": "POST",
"uri": "<subscription-URL>",
"body": "@listCallbackUrl()"
},
"accessKeyType": "Secondary"
},
"runAfter": {}
}