Share via


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.

Megjegyzé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.

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.

  1. Az Azure Portalon nyissa meg a Consumption logikai alkalmazást és az üres munkafolyamatot a tervezőben.

  2. 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.

  3. 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ó:

    Screenshot showing Consumption workflow and Request trigger with example JSON schema.

    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.

    Screenshot showing Consumption workflow, Request trigger, and reminder to include

    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:

    1. A Kérelem eseményindítóban válassza a Minta hasznos adat használata séma létrehozásához lehetőséget.

      Screenshot showing Consumption workflow, Request trigger, and

    2. Adja meg a minta hasznos adatait, és válassza a Kész lehetőséget.

      Screenshot showing Consumption workflow, Request trigger, and sample payload entered to generate schema.

      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"
            }
         }
      }
      
  4. 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:

    1. 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á a addtionalProperties tulajdonságot, és állítsa az értéket a következőre false: .

      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
      }
      
    2. A Kérelem eseményindító címsorában kattintson a három pontra (...).

    3. 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.

  5. 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
    Metódus 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:

    Screenshot showing Consumption workflow, Request trigger, and adding the

    A Metódus tulajdonság megjelenik az eseményindítóban, így kiválaszthat egy metódust a listából.

    Screenshot showing Consumption workflow, Request trigger, and the

  6. 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.

  7. A létrehozott URL másolásához válassza az URL-cím melletti másolás ikont.

    Screenshot showing Consumption workflow, Request trigger, and URL copy button selected.

    Megjegyzé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.

Megjegyzé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, engedélyezé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 ID Open Authentication (Microsoft Entra ID OAuth) szolgáltatással, a logikai alkalmazás erőforrásának az Azure API Managementtel való felfedésével vagy a bejövő hívásokból származó IP-címek korlátozásával kapcsolatos információkért 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 Object A kérelem fejléceit leíró JSON-objektum
Szervezet Object 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 a Content-DispositionPOST Content-Encodingés Content-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.

  1. 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.

  2. 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.

    Screenshot showing Azure portal, Consumption workflow, and Response action information.

    A fejlécek JSON formátumban való megtekintéséhez válassza a Váltás szövegnézetre lehetőséget.

    Screenshot showing Azure portal, Consumption workflow, and Response action headers in

  3. 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.

  4. Ha 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 teszteléséhez küldjön egy HTTP-kérést a létrehozott URL-címre. Például egy olyan eszközzel, mint a Postman , elküldheti a HTTP-kérést. 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.

Következő lépések