Bejövő HTTPS-hívások fogadása és megválaszolása munkafolyamatokhoz az Azure Logic Appsben
A következőkre vonatkozik: Azure Logic Apps (Használat + Standard)
Ez az útmutató egy logikai alkalmazás munkafolyamatának létrehozását mutatja be, amely képes fogadni és kezelni egy bejövő HTTPS-kérést vagy hívást egy másik szolgáltatásból a Kérés beépített eseményindító használatával. Amikor a munkafolyamat ezt az eseményindítót használja, a beépített Válasz művelet használatával válaszolhat a HTTPS-kérésre.
Feljegyzés
A válaszművelet csak akkor működik, ha a Kérés eseményindítót használja.
Ez a lista például azokat a feladatokat ismerteti, amelyeket a munkafolyamat el tud végezni a Kérelem eseményindító és a Válasz művelet használatakor:
Helyszíni adatbázis adataira vonatkozó HTTPS-kérés fogadása és megválaszolása.
Fogadjon és válaszoljon egy másik logikaialkalmazás-munkafolyamatból küldött HTTPS-kérésre.
Munkafolyamat-futtatás aktiválása külső webhookesemény bekövetkezésekor.
Ha inkább kimenő vagy kimenő kérés küldésével szeretné futtatni a munkafolyamatot, használja a HTTP beépített eseményindítóját vagy a HTTP beépített műveletét.
Előfeltételek
Azure-fiók és -előfizetés. Ha nem rendelkezik előfizetéssel, regisztrálhat egy ingyenes Azure-fiókra.
A logikai alkalmazás munkafolyamata, ahol meg szeretné kapni a bejövő HTTPS-kérést. Ha egy Kérelem eseményindítóval szeretné elindítani a munkafolyamatot, egy üres munkafolyamattal kell kezdenie. A Válasz művelet használatához a munkafolyamatnak a Kérelem eseményindítóval kell kezdődnie.
Telepítsen vagy használjon olyan eszközt, amely HTTP-kéréseket küldhet a megoldás teszteléséhez, például:
- Visual Studio Code a Visual Studio Marketplace bővítményével
- PowerShell Invoke-RestMethod
- Microsoft Edge – Hálózati konzol eszköz
- Bruno
- csavarodik
Figyelemfelhívás
Olyan helyzetekben, ahol bizalmas adatokkal rendelkezik, például hitelesítő adatokkal, titkos kódokkal, hozzáférési jogkivonatokkal, API-kulcsokkal és más hasonló információkkal, mindenképpen használjon olyan eszközt, amely a szükséges biztonsági funkciókkal védi az adatokat, offline vagy helyileg működik, nem szinkronizálja az adatokat a felhőbe, és nem követeli meg, hogy online fiókba jelentkezzen be. Így csökkentheti a bizalmas adatok nyilvános közzétételével járó kockázatokat.
Kérelem-eseményindító hozzáadása
A Kérelem eseményindító létrehoz egy manuálisan hívható végpontot, amely csak a HTTPS-en keresztül érkező kéréseket kezeli. Amikor a hívó kérést küld erre a végpontra, a Kérés eseményindító aktiválódik, és futtatja a munkafolyamatot. Az eseményindító meghívásával kapcsolatos információkért tekintse át a hívási, eseményindítói vagy beágyazott munkafolyamatokat HTTPS-végpontokkal az Azure Logic Appsben.
Az Azure Portalon nyissa meg a Consumption logikai alkalmazást és az üres munkafolyamatot a tervezőben.
A tervezőn az alábbi általános lépéseket követve keresse meg és adja hozzá a HTTP-kérés érkezésekor elnevezett beépített kérésindítót.
Az eseményindító információs mezőjének megjelenése után szükség szerint adja meg a következő információkat:
Tulajdonság neve JSON-tulajdonság neve Kötelező Leírás HTTP POST URL-címe {none} Igen A munkafolyamat mentése után létrehozott végponti URL-cím, amely a munkafolyamatot aktiváló kérés küldéséhez használatos. Kérelem törzsének JSON-sémája schema
Nem A bejövő kérelem törzsében található tulajdonságokat és értékeket leíró JSON-séma. A tervező ezzel a sémával hoz létre jogkivonatokat a kérelem tulajdonságaihoz. Így a munkafolyamat elemezheti, felhasználhatja és továbbíthatja a Kérelem eseményindító kimeneteit a munkafolyamatba.
Ha nem rendelkezik JSON-sémával, létrehozhatja a sémát a minta hasznos adataiból a Minta hasznos adatok használata sémaképesség létrehozásához.Az alábbi példában egy JSON-mintaséma látható:
Az alábbi példa a teljes JSON-sémát mutatja be:
{ "type": "object", "properties": { "account": { "type": "object", "properties": { "name": { "type": "string" }, "ID": { "type": "string" }, "address": { "type": "object", "properties": { "number": { "type": "string" }, "street": { "type": "string" }, "city": { "type": "string" }, "state": { "type": "string" }, "country": { "type": "string" }, "postalCode": { "type": "string" } } } } } } }
JSON-séma megadásakor a tervező emlékeztetőt jelenít meg, amely tartalmazza a tartalomtípus fejlécét a kérelemben, és a fejléc értékét application/json értékre állítja. További információ: Tartalomtípusok kezelése.
Az alábbi példa bemutatja, hogyan jelenik meg a Tartalomtípus fejléc JSON formátumban:
{ "Content-Type": "application/json" }
Ha olyan JSON-sémát szeretne létrehozni, amely a várt hasznos adatokon (adatokon) alapul, használhat egy eszközt, például JSONSchema.net, vagy kövesse az alábbi lépéseket:
A Kérelem eseményindítóban válassza a Minta hasznos adat használata séma létrehozásához lehetőséget.
Adja meg a minta hasznos adatait, és válassza a Kész lehetőséget.
Az alábbi példa a hasznos adatok mintáját mutatja be:
{ "account": { "name": "Contoso", "ID": "12345", "address": { "number": "1234", "street": "Anywhere Street", "city": "AnyTown", "state": "AnyState", "country": "USA", "postalCode": "11111" } } }
Ha ellenőrizni szeretné, hogy a bejövő hívásnak van-e a megadott sémának megfelelő kérelemtörzse, kövesse az alábbi lépéseket:
Ha azt szeretné, hogy a bejövő üzenet pontosan a séma által leírt mezőkkel rendelkezzen, adja hozzá a
required
tulajdonságot, és adja meg a szükséges mezőket. Adja hozzá aadditionalProperties
tulajdonságot, és állítsa az értéket a következőrefalse
: .A következő séma például azt határozza meg, hogy a bejövő üzenetnek mezővel kell rendelkeznie
msg
, nem pedig más mezőkkel:{ "properties": { "msg": { "type": "string" } }, "type": "object", "required": ["msg"], "additionalProperties": false }
A Kérelem eseményindító címsorában kattintson a három pontra (...).
Az eseményindító beállításai között kapcsolja be a sémaérvényesítést, és válassza a Kész lehetőséget.
Ha a bejövő hívás kéréstörzse nem egyezik a sémával, az eseményindító HTTP 400-ás hibás kérési hibát ad vissza.
Ha más tulajdonságokat vagy paramétereket szeretne hozzáadni az eseményindítóhoz, nyissa meg az Új paraméter hozzáadása listát, és válassza ki a hozzáadni kívánt paramétereket.
Tulajdonság neve JSON-tulajdonság neve Kötelező Leírás Módszer method
Nem A metódus, amelyet a bejövő kérésnek használnia kell a logikai alkalmazás meghívásához Relatív elérési út relativePath
Nem Annak a paraméternek a relatív elérési útja, amelyet a logikai alkalmazás végponti URL-címe elfogadhat A következő példa hozzáadja a Metódus tulajdonságot:
A Metódus tulajdonság megjelenik az eseményindítóban, így kiválaszthat egy metódust a listából.
Ha elkészült, mentse a munkafolyamatot. A tervező eszköztárán válassza a Mentés lehetőséget.
Ez a lépés létrehozza a munkafolyamatot aktiváló kérés küldéséhez használható URL-címet.
A létrehozott URL másolásához válassza az URL-cím melletti másolás ikont.
Feljegyzés
Ha a kérelem eseményindítójának hívásakor a kivonat vagy a font szimbólumot (#) szeretné szerepeltetni az URI-ban, használja inkább ezt a kódolt verziót:
%25%23
Most folytassa a munkafolyamat összeállítását egy újabb művelet hozzáadásával a következő lépésként. A kérésre például válaszművelet hozzáadásával válaszolhat, amellyel testre szabott választ adhat vissza, és amelyről a cikk későbbi részében olvashat.
Feljegyzés
A munkafolyamat csak korlátozott ideig tart nyitva egy bejövő kérést. Feltételezve, hogy a munkafolyamat válaszműveletet is tartalmaz, ha a munkafolyamat nem ad vissza választ a hívónak az idő lejárta után, a munkafolyamat visszaadja az 504 ÁTJÁRÓ IDŐTÚLLÉPÉSi állapotát a hívónak. Ha a munkafolyamat nem tartalmaz válaszműveletet, a munkafolyamat azonnal visszaadja a 202 ELFOGADVA állapotot a hívónak.
A munkafolyamatba irányuló bejövő hívások biztonságával, hitelesítésével és titkosításával, például a Transport Layer Security (TLS), korábbi nevén Secure Sockets Layer (SSL), a Microsoft Entra-azonosítóval rendelkező OAuth-ról, a közös hozzáférésű jogosultságkódokról (SAS), a logikai alkalmazás erőforrásának az Azure API Managementtel való közzétételéről vagy a bejövő hívásokból származó IP-címek korlátozásáról lásd : Biztonságos hozzáférés és adatok – Hozzáférés a kérésalapú triggerekhez érkező hívásokhoz.
Triggerkimenetek
Az alábbi táblázat a Kérelem eseményindító kimeneteit sorolja fel:
JSON-tulajdonság neve | Adattípus | Leírás |
---|---|---|
Fejlécek | Objektum | A kérelem fejléceit leíró JSON-objektum |
test | Objektum | A kérelem törzstartalmat leíró JSON-objektum |
Válaszművelet hozzáadása
Amikor a Kérés eseményindítóval fogad bejövő kéréseket, modellezheti a választ, és visszaküldheti a hasznos adatok eredményeit a hívónak a Válasz beépített műveletével, amely csak a Kérés eseményindítóval működik. Ez a Kérelem eseményindítóval és válaszművelettel való kombináció létrehozza a kérés-válasz mintát. A Foreach-hurkokon és a Until hurkokon és a párhuzamos ágakon kívül a válaszműveletet bárhol hozzáadhatja a munkafolyamatban.
Fontos
Ha a válaszművelet a következő fejléceket tartalmazza, az Azure Logic Apps automatikusan eltávolítja ezeket a fejléceket a létrehozott válaszüzenetből figyelmeztetés vagy hiba nélkül. Az Azure Logic Apps nem tartalmazza ezeket a fejléceket, bár a szolgáltatás nem akadályozza meg, hogy olyan munkafolyamatokat mentsen, amelyek válaszművelettel rendelkeznek ezekkel a fejlécekkel.
Allow
-
Content-*
fejlécek, kivéve aContent-Disposition
POSTContent-Encoding
ésContent-Type
PUT műveleteket, de a GET műveletekhez nem tartoznak Cookie
Expires
Last-Modified
Set-Cookie
Transfer-Encoding
Ha egy vagy több válaszművelettel rendelkezik egy összetett munkafolyamatban ágakkal, győződjön meg arról, hogy a munkafolyamat futásidőben legalább egy válaszműveletet feldolgoz. Ellenkező esetben, ha az összes válaszművelet kimarad, a hívó 502 hibás átjáró hibát kap, még akkor is, ha a munkafolyamat sikeresen befejeződött.
Egy standard logikai alkalmazás állapot nélküli munkafolyamatában a válaszműveletnek a munkafolyamatban utolsóként kell megjelennie. Ha a művelet bárhol máshol jelenik meg, az Azure Logic Apps továbbra sem futtatja a műveletet, amíg az összes többi művelet be nem fejeződik.
A munkafolyamat-tervezőben kövesse az alábbi általános lépéseket a Válasz nevű beépített válaszművelet megkereséséhez és hozzáadásához.
Az egyszerűség kedvéért az alábbi példák egy összecsukott kérelem eseményindítót mutatnak be.
A műveletinformációs mezőben adja hozzá a válaszüzenethez szükséges értékeket.
Tulajdonság neve JSON-tulajdonság neve Kötelező Leírás Állapotkód statusCode
Igen A válaszban visszaadandó állapotkód Fejlécek headers
Nem Egy JSON-objektum, amely egy vagy több, a válaszba belefoglalandó fejlécet ír le Törzs body
Nem A válasz törzse Amikor bármilyen szövegmezőben kiválasztja a elemet, a dinamikus tartalomlista automatikusan megnyílik. Ezután kiválaszthatja azokat a jogkivonatokat, amelyek a munkafolyamat korábbi lépéseiben elérhető kimeneteket jelölik. A megadott séma tulajdonságai is megjelennek ebben a dinamikus tartalomlistában. A munkafolyamatban használni kívánt tulajdonságokat kiválaszthatja.
A Fejlécek mezőben például adja meg a Content-Type értéket kulcsnévként, és állítsa a kulcs értékét alkalmazás/json értékre a cikk korábbi részében említett módon. A Törzs mezőben kiválaszthatja az eseményindító törzskimenetét a dinamikus tartalomlistából.
A fejlécek JSON formátumban való megtekintéséhez válassza a Váltás szövegnézetre lehetőséget.
Ha további tulajdonságokat szeretne hozzáadni a művelethez, például egy JSON-sémát a válasz törzséhez, az Új paraméter hozzáadása listából válassza ki a hozzáadni kívánt paramétereket.
Miután végzett, mentse a munkafolyamatot. A tervező eszköztárán válassza a Mentés lehetőséget.
A munkafolyamat tesztelése
A munkafolyamat aktiválásához küldjön egy HTTP-kérést a Kérelem eseményindítóhoz létrehozott URL-címre, beleértve a kérésindító által várt módszert is, a HTTP-kérési eszköz és annak utasításaival.
Az eseményindító alapjául szolgáló JSON-definícióval és az eseményindító meghívásával kapcsolatos további információkért tekintse meg az alábbi témaköröket, az eseményindító típusát és a Hívás, eseményindító vagy beágyazott munkafolyamatokat HTTP-végpontokkal az Azure Logic Appsben.
Biztonság és hitelesítés
A Kérés eseményindítóval (de webhook-eseményindítóval nem) kezdődő standard logikai alkalmazás-munkafolyamatban az Azure Functions-kiosztással hitelesítheti az adott eseményindító által létrehozott végpontra küldött bejövő hívásokat egy felügyelt identitás használatával. Ez a rendelkezés "Easy Auth" néven is ismert. További információ: Trigger-munkafolyamatok a Standard logikai alkalmazásokban az Easy Auth használatával.
További információ a logikai alkalmazás munkafolyamatára irányuló bejövő hívások biztonságáról, engedélyezéséről és titkosításáról, például a Transport Layer Security (TLS), korábbi nevén Secure Sockets Layer (SSL), a Microsoft Entra ID Open Authentication (Microsoft Entra ID OAuth) szolgáltatásról, a logikai alkalmazás Azure API Managementtel való közzétételéről vagy a bejövő hívásokból származó IP-címek korlátozásáról: Biztonságos hozzáférés és adatok – Hozzáférés a kérésalapú triggerekhez érkező hívásokhoz.