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:
- Visual Studio Code s rozšířením z Webu Visual Studio Marketplace
- PowerShell Invoke-RestMethod
- Microsoft Edge – nástroj konzoly sítě
- Bruno
- kudrna
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.
Na webu Azure Portal otevřete aplikaci logiky Consumption a prázdný pracovní postup v návrháři.
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.
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:
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.
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:
V triggeru požadavku vyberte Použít ukázkovou datovou část k vygenerování schématu.
Zadejte ukázkovou datovou část a vyberte Hotovo.
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" } } }
Pokud chcete zkontrolovat, jestli příchozí volání obsahuje text požadavku, který odpovídá zadanému schématu, postupujte takto:
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 nafalse
.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 }
V záhlaví triggeru požadavku vyberte tlačítko se třemi tečkami (...).
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 .
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:
Vlastnost Method se zobrazí v triggeru, abyste mohli vybrat metodu ze seznamu.
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.
Pokud chcete zkopírovat vygenerovanou adresu URL, vyberte ikonu kopírování vedle 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ýjimkouContent-Disposition
,Content-Encoding
aContent-Type
pokud používáte operace POST a PUT, ale nejsou zahrnuty pro operace GETCookie
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čí.
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 .
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.
Pokud chcete zobrazit záhlaví ve formátu JSON, vyberte Přepnout do textového zobrazení.
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.
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ů.