Příjem příchozích volání HTTPS do pracovních postupů v Azure Logic Apps a reakce na ně

Platí pro: Azure Logic Apps (Consumption + Standard)

Tento průvodce postupy ukazuje vytvoření pracovního postupu aplikace logiky, který může přijímat a zpracovávat příchozí požadavek HTTPS nebo volání z jiné služby pomocí integrované aktivační události Požadavku. Když váš pracovní postup používá tento trigger, můžete na požadavek HTTPS odpovědět pomocí integrované akce Odpověď.

Poznámka:

Akce Odpověď funguje jenom v případech, kdy použijete trigger požadavku.

Tento seznam například popisuje některé úlohy, které může pracovní postup provést při použití triggeru požadavku a akce Odpovědi:

  • Přijímat a odpovídat na požadavek HTTPS na data v místní databázi.

  • Přijímat a odpovídat na požadavek HTTPS odeslaný z jiného pracovního postupu aplikace logiky

  • Aktivuje spuštění pracovního postupu, když dojde k události externího webhooku.

Pokud chcete pracovní postup spustit odesláním odchozího nebo odchozího požadavku, použijte předdefinovaný trigger HTTP nebo integrovanou akci HTTP.

Předpoklady

  • Účet a předplatné Azure. Pokud předplatné nemáte, můžete si zaregistrovat bezplatný účet Azure.

  • Pracovní postup aplikace logiky, ve kterém chcete přijímat příchozí požadavek HTTPS. Pokud chcete spustit pracovní postup triggerem požadavku, musíte začít s prázdným pracovním postupem. Pokud chcete použít akci Odpověď, musí váš pracovní postup začínat triggerem požadavku.

Přidání triggeru požadavku

Trigger požadavku vytvoří ručně volatelný koncový bod, který zpracovává pouze příchozí požadavky přes HTTPS. Když volající odešle požadavek na tento koncový bod, aktivuje se trigger požadavku a spustí pracovní postup. Informace o volání tohoto triggeru najdete v tématu Volání, trigger nebo vnoření pracovních postupů s koncovými body HTTPS v Azure Logic Apps.

  1. Na webu Azure Portal otevřete aplikaci logiky Consumption a prázdný pracovní postup v návrháři.

  2. V návrháři pomocí těchto obecných kroků vyhledejte a přidejte předdefinovaný trigger požadavku s názvem Při přijetí požadavku HTTP.

  3. Po zobrazení informačního pole triggeru zadejte podle potřeby následující informace:

    Název vlastnosti Název vlastnosti JSON Požadováno Popis
    HTTP POST URL {none} Ano Adresa URL koncového bodu vygenerovaná po uložení pracovního postupu a slouží k odeslání požadavku, který aktivuje váš pracovní postup.
    Schéma JSON textu požadavku schema No Schéma JSON popisující vlastnosti a hodnoty v textu příchozího požadavku. Návrhář používá toto schéma ke generování tokenů pro vlastnosti v požadavku. Tímto způsobem může pracovní postup parsovat, využívat a předávat výstupy z triggeru požadavku do pracovního postupu.

    Pokud schéma JSON nemáte, můžete schéma vygenerovat z ukázkové datové části pomocí ukázkové datové části k vygenerování funkce schématu pomocí ukázkové datové části.

    Následující příklad ukazuje ukázkové schéma JSON:

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

    Následující příklad ukazuje kompletní ukázkové schéma JSON:

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

    Když zadáte schéma JSON, návrhář zobrazí připomenutí, že do požadavku zahrne hlavičku Content-Type a nastaví tuto hodnotu hlavičky na application/json. Další informace naleznete v tématu Zpracování typů obsahu.

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

    Následující příklad ukazuje, jak se záhlaví Content-Type zobrazuje ve formátu JSON:

    {
       "Content-Type": "application/json"
    }
    

    Pokud chcete vygenerovat schéma JSON založené na očekávané datové části (data), můžete použít nástroj, jako je JSONSchema.net, nebo můžete postupovat takto:

    1. V triggeru požadavku vyberte Použít ukázkovou datovou část k vygenerování schématu.

      Screenshot showing Consumption workflow, Request trigger, and

    2. Zadejte ukázkovou datovou část a vyberte Hotovo.

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

      Následující příklad ukazuje ukázkovou datovou část:

      {
         "account": {
            "name": "Contoso",
            "ID": "12345",
            "address": {
               "number": "1234",
               "street": "Anywhere Street",
               "city": "AnyTown",
               "state": "AnyState",
               "country": "USA",
               "postalCode": "11111"
            }
         }
      }
      
  4. Pokud chcete zkontrolovat, jestli příchozí volání obsahuje text požadavku, který odpovídá zadanému schématu, postupujte takto:

    1. Chcete-li vynutit příchozí zprávu, aby měla stejná přesná pole, která vaše schéma popisuje, přidejte ve schématu required vlastnost a zadejte požadovaná pole. addtionalProperties Přidejte vlastnost a nastavte hodnotu na false.

      Například následující schéma určuje, že příchozí zpráva musí mít msg pole a ne žádná jiná pole:

      {
         "properties": {
           "msg": {
              "type": "string"
           }
         },
         "type": "object",
         "required": ["msg"],
         "additionalProperties": false
      }
      
    2. V záhlaví triggeru požadavku vyberte tlačítko se třemi tečkami (...).

    3. V nastavení triggeru zapněte ověřování schématu a vyberte Hotovo.

      Pokud tělo požadavku příchozího volání neodpovídá vašemu schématu, trigger vrátí chybu HTTP 400 Chybný požadavek .

  5. Pokud chcete do triggeru přidat další vlastnosti nebo parametry, otevřete seznam přidat nový parametr a vyberte parametry, které chcete přidat.

    Název vlastnosti Název vlastnosti JSON Požadováno Popis
    Metoda method No Metoda, kterou musí příchozí požadavek použít k volání aplikace logiky
    Relativní cesta relativePath No Relativní cesta parametru, který může přijmout adresa URL koncového bodu aplikace logiky

    Následující příklad přidá Metodu vlastnost:

    Screenshot showing Consumption workflow, Request trigger, and adding the

    Vlastnost Method se zobrazí v triggeru, abyste mohli vybrat metodu ze seznamu.

    Screenshot showing Consumption workflow, Request trigger, and the

  6. Až budete připraveni, uložte pracovní postup. Na panelu nástrojů návrháře vyberte Uložit.

    Tento krok vygeneruje adresu URL, kterou můžete použít k odeslání požadavku, který aktivuje pracovní postup.

  7. Pokud chcete zkopírovat vygenerovanou adresu URL, vyberte ikonu kopírování vedle adresy URL.

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

    Poznámka:

    Pokud chcete do identifikátoru URI zahrnout symbol hash nebo libra (#) při volání triggeru požadavku, použijte místo toho tuto zakódovanou verzi: %25%23

Teď pokračujte v vytváření pracovního postupu přidáním další akce jako dalšího kroku. Na požadavek můžete například odpovědět přidáním akce Odpověď, kterou můžete použít k vrácení přizpůsobené odpovědi a která je popsaná dále v tomto článku.

Poznámka:

Váš pracovní postup uchovává příchozí požadavek otevřený jenom po omezenou dobu. Za předpokladu, že pracovní postup obsahuje také akci Odpovědi, pokud váš pracovní postup po vypršení této doby nevrátí odpověď volajícímu, vrátí pracovní postup stav 504 GATEWAY TIMEOUT volajícímu. Pokud váš pracovní postup neobsahuje akci Odpověď, pracovní postup okamžitě vrátí stav 202 ACCEPTED volajícímu.

Informace o zabezpečení, autorizaci a šifrování příchozích volání do vašeho pracovního postupu, jako je protokol TLS (Transport Layer Security), dříve označovaný jako SSL (Secure Sockets Layer), Microsoft Entra ID Open Authentication (Microsoft Entra ID OAuth), zveřejnění prostředku aplikace logiky ve službě Azure API Management nebo omezení IP adres, které pocházejí z příchozích volání, najdete v tématu Zabezpečený přístup a data – Přístup pro příchozí volání triggerů založených na požadavcích.

Výstupy aktivační události

Následující tabulka uvádí výstupy z triggeru požadavku:

Název vlastnosti JSON Datový typ Popis
Záhlaví Objekt Objekt JSON, který popisuje hlavičky z požadavku
tělo Objekt Objekt JSON, který popisuje základní obsah požadavku

Přidání akce odpovědi

Když k příjmu příchozích požadavků použijete trigger požadavku, můžete odpověď modelovat a odeslat výsledky datové části zpět volajícímu pomocí integrované akce Odpověď, která funguje pouze s triggerem požadavku. Tato kombinace s triggerem požadavku a akcí Odpověď vytvoří vzor odpovědi požadavku. Kromě uvnitř smyček Foreach a smyček Until a paralelních větví můžete přidat akci Odpověď kdekoli ve svém pracovním postupu.

Důležité

  • Pokud akce odpovědi obsahuje následující hlavičky, Azure Logic Apps tyto hlavičky automaticky odebere ze zprávy vygenerované odpovědi, aniž by se zobrazilo upozornění nebo chyba. Azure Logic Apps tyto hlavičky neobsahuje, i když vám služba nezabrání v ukládání pracovních postupů, které mají akci Odpovědi s těmito hlavičkami.

    • Allow
    • Content-* hlavičky s výjimkou Content-Disposition, Content-Encodinga Content-Type pokud používáte operace POST a PUT, ale nejsou zahrnuty pro operace GET
    • Cookie
    • Expires
    • Last-Modified
    • Set-Cookie
    • Transfer-Encoding
  • Pokud máte v komplexním pracovním postupu s větvemi jednu nebo více akcí odpovědi, ujistěte se, že pracovní postup zpracovává alespoň jednu akci odpovědi během běhu. V opačném případě, pokud jsou všechny akce odpovědi vynechány, volající obdrží chybu 502 Chybná brána , i když se pracovní postup úspěšně dokončí.

  • V bezstavovém pracovním postupu aplikace logiky standardu se akce Odpovědi musí zobrazit jako poslední v pracovním postupu. Pokud se akce zobrazí kdekoli jinde, Azure Logic Apps tuto akci pořád nespustí, dokud se všechny ostatní akce nedokončí.

  1. V návrháři pracovního postupu vyhledejte a přidejte integrovanou akci Odpovědi s názvem Odpověď.

    Pro zjednodušení následující příklady ukazují sbalený trigger požadavku.

  2. Do pole s informacemi o akci přidejte požadované hodnoty pro zprávu odpovědi.

    Název vlastnosti Název vlastnosti JSON Požadováno Popis
    Stavový kód statusCode Ano Stavový kód, který se má vrátit v odpovědi
    Záhlaví headers No Objekt JSON, který popisuje jedno nebo více hlaviček, které se mají zahrnout do odpovědi
    Text body No Text odpovědi

    Když vyberete v libovolném textovém poli, automaticky se otevře seznam dynamického obsahu. Pak můžete vybrat tokeny, které představují všechny dostupné výstupy z předchozích kroků v pracovním postupu. Vlastnosti ze zadaného schématu se také zobrazí v tomto seznamu dynamického obsahu. Tyto vlastnosti můžete vybrat, které chcete použít ve svém pracovním postupu.

    Například do pole Headers (Hlavičky ) zahrňte content-Type jako název klíče a nastavte hodnotu klíče na application/json , jak je uvedeno výše v tomto článku. V poli Text můžete vybrat výstup textu triggeru ze seznamu dynamického obsahu.

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

    Pokud chcete zobrazit záhlaví ve formátu JSON, vyberte Přepnout do textového zobrazení.

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

  3. Pokud chcete přidat další vlastnosti akce, například schéma JSON pro text odpovědi, vyberte v seznamu Přidat nový parametr parametry, které chcete přidat.

  4. Až budete hotovi, uložte pracovní postup. Na panelu nástrojů návrháře vyberte Uložit.

Otestování pracovního postupu

Pokud chcete otestovat pracovní postup, odešlete na vygenerovanou adresu URL požadavek HTTP. K odeslání požadavku HTTP můžete například použít nástroj, jako je Postman . Další informace o základní definici JSON triggeru a o tom, jak tento trigger volat, najdete v těchto tématech, typu triggeru požadavku a volání, triggeru nebo vnoření pracovních postupů s koncovými body HTTP v Azure Logic Apps.

Zabezpečení a ověřování

V pracovním postupu standardní aplikace logiky, který začíná triggerem požadavku (ale ne triggerem webhooku), můžete použít zřízení Azure Functions k ověřování příchozích volání odeslaných do koncového bodu vytvořeného tímto triggerem pomocí spravované identity. Toto zřízení se také označuje jako "Easy Auth". Další informace najdete v pracovních postupech triggerů ve standardních aplikacích logiky pomocí snadného ověřování.

Další informace o zabezpečení, autorizaci a šifrování příchozích volání do pracovního postupu aplikace logiky, jako je protokol TLS (Transport Layer Security), dříve označovaný jako SSL (Secure Sockets Layer), Microsoft Entra ID Open Authentication (Microsoft Entra ID OAuth), zveřejnění aplikace logiky pomocí služby Azure API Management nebo omezení IP adres, které pocházejí z příchozích volání, najdete v tématu Zabezpečený přístup a data – Přístup pro příchozí volání na základě požadavků.

Další kroky