Sdílet prostřednictvím


Příjem příchozích volání HTTPS odesílaných do pracovních postupů v Azure Logic Apps a odpovídání na ně

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

Tato příručka ukazuje, jak vytvořit pracovní postup aplikace logiky, který může přijímat a zpracovávat příchozí požadavek HTTPS z jiné služby pomocí integrované aktivační události Požadavek . Když váš pracovní postup používá tento trigger, může pracovní postup reagovat na volání HTTPS pomocí integrované akce Odpověď .

Poznámka:

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

Pracovní postup může například provádět následující úlohy, když použijete akci Trigger požadavku a Odpověď :

  • 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

  • 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í nezbytných funkcí zabezpečení. Nástroj by měl fungovat offline nebo místně a nevyžaduje přihlášení k online účtu nebo synchronizaci dat do cloudu. Při použití nástroje s těmito charakteristikami 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 prostředek aplikace logiky Consumption.

  2. V nabídce bočního panelu v části Vývojové nástroje vyberte návrháře a otevřete prázdný pracovní postup.

  3. Přidejte předdefinovaný trigger požadavku s názvem Při přijetí požadavku HTTP do pracovního postupu podle obecných kroků pro přidání triggeru.

  4. Po zobrazení informačního pole aktivační události zadejte následující informace:

    Název vlastnosti Název vlastnosti JSON Požadováno Popis
    HTTP URL {žádné} 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 Ne 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ář může zobrazit 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.

    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 json-schema.org, 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 možnost použití ukázkové datové části ke generování schématu

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

      Snímek obrazovky znázorňující pracovní postup Consumption, spoušť požadavku a ukázková datová část zadaná k 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"
            }
         }
      }
      
  5. 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 návrháři vyberte spouštěč požadavku. V podokně informací, které se otevře, vyberte kartu Nastavení .

    3. Rozbalte zpracování dat a nastavte ověřování schématu na Zapnuto.

      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 .

  6. V seznamu Metoda vyberte metodu, kterou trigger očekává pro zpracování příchozích požadavků.

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

  7. Pokud pro trigger existují nějaké další parametry, otevřete seznam rozšířených parametrů a vyberte požadované parametry.

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

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

    Snímek obrazovky zobrazující pracovní postup Consumption, spouštěč 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 jsou tls (Transport Layer Security),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 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
headers Objekt Objekt JSON, který popisuje hlavičky z požadavku
body 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ř pro každou smyčku a until smyčky a paralelní větve můžete přidat akci Odpověď kdekoli v 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 POST a PUT operace, ale nejsou zahrnuty pro GET operace
    • 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. Na webu Azure Portal otevřete prostředek aplikace logiky Consumption.

  2. V nabídce bočního panelu v části Vývojové nástroje vyberte návrháře a otevřete pracovní postup.

    Tento ukázkový pracovní postup používá trigger požadavku přidaný v předchozí části.

  3. Přidejte integrovanou akci Odpovědi do pracovního postupu podle obecných kroků pro přidání akce.

  4. 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 Ne Objekt JSON, který popisuje jedno nebo více hlaviček, které se mají zahrnout do odpovědi
    Text body Ne Text odpovědi

    Když vyberete některá textová pole, zobrazí se možnosti otevření seznamu dynamického obsahu (ikona blesku) nebo editoru výrazů (ikona funkce). Když zvolíte seznam dynamického obsahu, můžete vybrat výstupy, které jsou k dispozici v předchozích krocích pracovního postupu. Pokud jste v triggeru požadavku zadali schéma, vlastnosti schématu se zobrazí také v seznamu dynamického obsahu a jsou k dispozici pro použití ve vašem pracovním postupu.

    Například v poli Hlavičky použijte jako název klíče typ obsahu a nastavte hodnotu klíče na application/json , jak je uvedeno výše v tomto článku. V poli Text můžete otevřít seznam dynamického obsahu a vybrat výstup textu triggeru.

    Snímek obrazovky portálu Azure, pracovního postupu Consumption a akce odpovědi.

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

    Snímek obrazovky zobrazující hlavičky akcí Azure Portal, Pracovní postup Consumption a Response v části Přepnout do textového zobrazení

  5. Pokud pro akci existují nějaké další parametry, otevřete seznam rozšířených parametrů a vyberte požadované parametry.

  6. 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í JSON definici spouštěče a o tom, jak volat tento spouštěč, najdete v těchto článcích: Typ spouštěče požadavku a volání, spuštění nebo vnoření pracovních postupů pomocí koncových bodů 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 tématu Aktivace pracovních postupů 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),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 Access pro příchozí volání triggerů založených na požadavcích.