Sdílet prostřednictvím


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.

Požadavky

  • Úč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 .

  • Nainstalujte nebo použijte nástroj, který může odesílat požadavky HTTP k otestování vašeho řešení, například:

    Upozornění

    V situacích, kdy máte citlivá data, jako jsou přihlašovací údaje, tajné kódy, přístupové tokeny, klíče rozhraní API a další podobné informace, nezapomeňte použít nástroj, který chrání vaše data pomocí potřebných funkcí zabezpečení, funguje offline nebo místně, nesynchronizuje vaše data do cloudu a nevyžaduje, abyste se přihlásili k online účtu. Tímto způsobem snížíte riziko zveřejnění citlivých dat veřejnosti.

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:

    Snímek obrazovky znázorňující pracovní postup Consumption a trigger požadavku s ukázkovým schématem JSON

    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.

    Snímek obrazovky s pracovním postupem Consumption, triggerem požadavku a připomenutím pro zahrnutí hlavičky Content-Type

    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.

      Snímek obrazovky znázorňující pracovní postup Consumption, trigger požadavku a vybranou možnost Použít ukázkovou datovou část k vygenerování schématu

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

      Snímek obrazovky znázorňující pracovní postup Consumption, trigger požadavku a ukázkovou datovou část zadaná ke generování schématu

      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. additionalProperties 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:

    Snímek obrazovky zobrazující pracovní postup Consumption, trigger požadavku a přidání parametru Method

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

    Snímek obrazovky zobrazující pracovní postup Consumption, trigger požadavku a seznam Metoda otevřený s vybranou metodou

  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.

    Snímek obrazovky zobrazující vybraný pracovní postup Consumption, trigger požadavku a tlačítko pro kopírování adresy URL

    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í, ověřování 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), OAuth s Microsoft Entra ID, sdílené přístupové podpisy (SAS), 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í na základě požadavků.

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
hlavičky 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.

    Snímek obrazovky s informacemi o akci webu Azure Portal, pracovního postupu Consumption a Odpovědi

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

    Snímek obrazovky znázorňující hlavičky akcí Azure Portal, Pracovního postupu Consumption a Response v zobrazení Přepnout na text

  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. Po dokončení uložte pracovní postup. Na panelu nástrojů návrháře vyberte Uložit.

Otestování pracovního postupu

Pokud chcete aktivovat pracovní postup, odešlete požadavek HTTP na adresu URL vygenerovanou pro trigger požadavku , včetně metody, kterou trigger požadavku očekává, pomocí nástroje požadavku HTTP a jeho pokynů.

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