Vytváření a spouštění automatizovaných pracovních postupů založených na událostech pomocí webhooků HTTP v Azure Logic AppsCreate and run automated event-based workflows by using HTTP webhooks in Azure Logic Apps

Pomocí Azure Logic Apps a integrovaného konektoru Webhooku protokolu HTTP můžete vytvářet automatizované úlohy a pracovní postupy, které se přihlásí k odběru koncového bodu služby, počkat na konkrétní události a spustit je na základě těchto událostí, nikoli pravidelně kontrolovat nebo dotazovat tento koncový bod.With Azure Logic Apps and the built-in HTTP Webhook connector, you can create automated tasks and workflows that subscribe to a service endpoint, wait for specific events, and run based on those events, rather than regularly checking or polling that endpoint.

Tady je několik příkladů pracovních postupů založených na webhookech:Here are some example webhook-based workflows:

  • Před aktivací spuštění aplikace logiky počkejte, než se položka dorazí z centra událostí Azure .Wait for an item to arrive from an Azure Event Hub before triggering a logic app run.
  • Před pokračováním pracovního postupu počkejte na schválení.Wait for an approval before continuing a workflow.

Tento článek ukazuje, jak použít Trigger Webhooku a akci Webhooku, aby vaše aplikace logiky mohla přijímat a reagovat na události na koncovém bodu služby.This article shows how to use the Webhook trigger and Webhook action so that your logic app can receive and respond to events at a service endpoint.

Jak Webhooky fungují?How do webhooks work?

Trigger Webhooku je založený na události, který nezávisí na pravidelné kontrole a dotazování na nové položky.A webhook trigger is event-based, which doesn't depend on checking or polling regularly for new items. Když uložíte aplikaci logiky, která začíná triggerem Webhooku, nebo když změníte aplikaci logiky z disabled na povolenou, Trigger Webhooku se přihlásí k odběru zadaného koncového bodu služby registrací adresy URL zpětného volání s tímto koncovým bodem.When you save a logic app that starts with a webhook trigger, or when you change your logic app from disabled to enabled, the webhook trigger subscribes to the specified service endpoint by registering a callback URL with that endpoint. Aktivační událost potom počká, až koncový bod služby zavolá adresu URL, která spustí aplikaci logiky.The trigger then waits for that service endpoint to call the URL, which starts running the logic app. Podobně jako u triggeru žádostise aplikace logiky aktivuje hned, jakmile dojde k zadané události.Similar to the Request trigger, the logic app fires immediately when the specified event happens. Trigger Webhooku zruší odběr koncového bodu služby, pokud odeberete Trigger a uložíte aplikaci logiky nebo když změníte aplikaci logiky z povoleno na zakázáno.The webhook trigger unsubscribes from the service endpoint if you remove the trigger and save your logic app, or when you change your logic app from enabled to disabled.

Akce Webhooku je také založená na událostech a odběrem zadaného koncového bodu služby REGISTRUJE adresu URL zpětného volání s tímto koncovým bodem.A webhook action is also event-based and subscribes to the specified service endpoint by registering a callback URL with that endpoint. Akce Webhooku pozastaví pracovní postup aplikace logiky a počká, až koncový bod služby zavolá adresu URL předtím, než pokračuje v běhu aplikace logiky.The webhook action pauses the logic app's workflow and waits until the service endpoint calls the URL before the logic app resumes running. Akce Webhooku zruší odběr koncového bodu služby v těchto případech:The webhook action unsubscribes from the service endpoint in these cases:

  • Po úspěšném dokončení akce WebhookuWhen the webhook action successfully finishes
  • Pokud při čekání na odpověď dojde ke zrušení běhu aplikace logikyIf the logic app run is canceled while waiting for a response
  • Před vypršením časového limitu aplikace logikyBefore the logic app times out

Příkladem akce Webhooku, která následuje za tímto vzorem, je například akce poslat e-mail se schválením konektoru Office 365 Outlooku.For example, the Office 365 Outlook connector's Send approval email action is an example of webhook action that follows this pattern. Tento model můžete roztáhnout do libovolné služby pomocí akce Webhooku.You can extend this pattern into any service by using the webhook action.

Další informace najdete v těchto tématech:For more information, see these topics:

Informace o šifrování, zabezpečení a autorizaci příchozích volání do vaší aplikace logiky, jako je například TLS (Transport Layer Security), dříve označované jako SSL (Secure SOCKETS Layer) (SSL) nebo Azure Active Directory otevřené ověřování (Azure AD OAuth), najdete v tématu zabezpečený přístup a přístup k datům pro příchozí volání aktivačních událostí na základě požadavků.For information about encryption, security, and authorization for inbound calls to your logic app, such as Transport Layer Security (TLS), previously known as Secure Sockets Layer (SSL), or Azure Active Directory Open Authentication (Azure AD OAuth), see Secure access and data - Access for inbound calls to request-based triggers.

PožadavkyPrerequisites

Přidání triggeru Webhooku HTTPAdd an HTTP Webhook trigger

Tato integrovaná aktivační událost volá koncový bod přihlášení k odběru cílové služby a zaregistruje adresu URL zpětného volání s cílovou službou.This built-in trigger calls the subscribe endpoint on the target service and registers a callback URL with the target service. Vaše aplikace logiky potom počká, než cílová služba pošle HTTP POST požadavek na adresu URL zpětného volání.Your logic app then waits for the target service to send an HTTP POST request to the callback URL. Když dojde k této události, aktivační událost se aktivuje a předá do pracovního postupu veškerá data v žádosti.When this event happens, the trigger fires and passes any data in the request along to the workflow.

  1. Přihlaste se na Azure Portal.Sign in to the Azure portal. Otevřete prázdnou aplikaci logiky v návrháři aplikace logiky.Open your blank logic app in Logic App Designer.

  2. Do vyhledávacího pole návrháře zadejte http webhook jako filtr.In the designer's search box, enter http webhook as your filter. V seznamu triggery vyberte aktivační událost http Webhooku .From the Triggers list, select the HTTP Webhook trigger.

    Vybrat Trigger Webhooku protokolu HTTP

    Tento příklad přejmenuje Trigger na HTTP Webhook trigger tak, aby měl krok výstižnější název.This example renames the trigger to HTTP Webhook trigger so that the step has a more descriptive name. Dále tento příklad přidá akci Webhooku HTTP a oba názvy musí být jedinečné.Also, the example later adds an HTTP Webhook action, and both names must be unique.

  3. Zadejte hodnoty pro parametry triggeru Webhooku protokolu HTTP , které chcete použít pro odběry a zrušení odběru volání.Provide the values for the HTTP Webhook trigger parameters that you want to use for the subscribe and unsubscribe calls.

    V tomto příkladu Trigger zahrnuje metody, identifikátory URI a texty zpráv, které se mají použít při provádění operací přihlášení k odběru a zrušení odběru.In this example, the trigger includes the methods, URIs, and message bodies to use when performing the subscribe and unsubscribe operations.

    Zadejte parametry triggeru Webhooku protokolu HTTP.

    VlastnostProperty PovinnéRequired PopisDescription
    Předplatné – metodaSubscription - Method YesYes Metoda, která se má použít při přihlášení k odběru cílového koncového boduThe method to use when subscribing to the target endpoint
    Přihlášení k odběru – identifikátor URISubscribe - URI YesYes Adresa URL, která se má použít pro přihlášení k odběru cílového koncového boduThe URL to use for subscribing to the target endpoint
    Přihlášení k odběru – těloSubscribe - Body NoNo Libovolný text zprávy, který má být zahrnut do žádosti o přihlášení k odběru.Any message body to include in the subscribe request. Tento příklad obsahuje adresu URL zpětného volání, která jednoznačně identifikuje předplatitele, což je vaše aplikace logiky, pomocí @listCallbackUrl() výrazu pro načtení adresy URL zpětného volání aplikace logiky.This example includes the callback URL that uniquely identifies the subscriber, which is your logic app, by using the @listCallbackUrl() expression to retrieve your logic app's callback URL.
    Zrušit odběr – metodaUnsubscribe - Method NoNo Metoda, která se má použít při zrušení odběru cílového koncového boduThe method to use when unsubscribing from the target endpoint
    Odhlásit odběr – identifikátor URIUnsubscribe - URI NoNo Adresa URL, která se má použít k odhlášení odběru cílového koncového boduThe URL to use for unsubscribing from the target endpoint
    Odhlásit odběr – těloUnsubscribe - Body NoNo Volitelný text zprávy, který se má zahrnout do žádosti o zrušení odběruAn optional message body to include in the unsubscribe request

    Poznámka: Tato vlastnost nepodporuje použití listCallbackUrl() funkce.Note: This property doesn't support using the listCallbackUrl() function. Trigger ale automaticky zahrne a pošle hlavičky x-ms-client-tracking-id a x-ms-workflow-operation-name , které může cílová služba použít k jednoznačné identifikaci předplatitele.However, the trigger automatically includes and sends the headers, x-ms-client-tracking-id and x-ms-workflow-operation-name, which the target service can use to uniquely identify the subscriber.

  4. Chcete-li přidat další vlastnosti aktivační události, otevřete seznam Přidat nový parametr .To add other trigger properties, open the Add new parameter list.

    Přidat další vlastnosti triggeru

    Pokud například potřebujete použít ověřování, můžete přidat odběr-ověřování a zrušit odběr vlastností ověřování .For example, if you need to use authentication, you can add the Subscribe - Authentication and Unsubscribe - Authentication properties. Další informace o typech ověřování dostupných pro Webhook HTTP najdete v tématu Přidání ověřování do odchozích volání.For more information about authentication types available for HTTP Webhook, see Add authentication to outbound calls.

  5. Pokračujte v vytváření pracovního postupu aplikace logiky s akcemi, které se spustí, když se Trigger aktivuje.Continue building your logic app's workflow with actions that run when the trigger fires.

  6. Až budete hotovi, nezapomeňte uložit aplikaci logiky.When you're finished, done, remember to save your logic app. Na panelu nástrojů návrháře vyberte Uložit.On the designer toolbar, select Save.

    Uložení aplikace logiky volá koncový bod přihlášení do cílové služby a zaregistruje adresu URL zpětného volání.Saving your logic app calls the subscribe endpoint on the target service and registers the callback URL. Vaše aplikace logiky potom počká, než cílová služba pošle HTTP POST požadavek na adresu URL zpětného volání.Your logic app then waits for the target service to send an HTTP POST request to the callback URL. Když dojde k této události, aktivační událost se aktivuje a předá do pracovního postupu veškerá data v žádosti.When this event happens, the trigger fires and passes any data in the request along to the workflow. Pokud se tato operace úspěšně dokončí, Trigger se odhlásí od koncového bodu a vaše aplikace logiky pokračuje zbývajícím pracovním postupem.If this operation completes successfully, the trigger unsubscribes from the endpoint, and your logic app continues the remaining workflow.

Přidat akci Webhooku HTTPAdd an HTTP Webhook action

Tato Vestavěná akce volá koncový bod přihlášení k odběru v cílové službě a zaregistruje adresu URL zpětného volání s cílovou službou.This built-in action calls the subscribe endpoint on the target service and registers a callback URL with the target service. Vaše aplikace logiky se pak pozastaví a počká, až cílová služba pošle HTTP POST požadavek na adresu URL zpětného volání.Your logic app then pauses and waits for target service to send an HTTP POST request to the callback URL. Pokud k této události dojde, akce předá do pracovního postupu všechna data v žádosti.When this event happens, the action passes any data in the request along to the workflow. Pokud se operace úspěšně dokončí, akce odhlásit odběr koncového bodu a vaše aplikace logiky pokračuje v běhu zbývajícího pracovního postupu.If the operation completes successfully, the action unsubscribes from the endpoint, and your logic app continues running the remaining workflow.

  1. Přihlaste se na Azure Portal.Sign in to the Azure portal. Otevřete aplikaci logiky v návrháři aplikace logiky.Open your logic app in Logic App Designer.

    V tomto příkladu se jako první krok používá Trigger Webhooku HTTP.This example uses the HTTP Webhook trigger as the first step.

  2. V kroku, kam chcete přidat akci Webhooku HTTP, vyberte Nový krok.Under the step where you want to add the HTTP Webhook action, select New step.

    Chcete-li přidat akci mezi kroky, přesuňte ukazatel myši na šipku mezi jednotlivými kroky.To add an action between steps, move your pointer over the arrow between steps. Vyberte symbol plus ( + ), který se zobrazí, a pak vyberte přidat akci.Select the plus sign (+) that appears, and then select Add an action.

  3. Do vyhledávacího pole návrháře zadejte http webhook jako filtr.In the designer's search box, enter http webhook as your filter. V seznamu Akce vyberte akci Webhooku http .From the Actions list, select the HTTP Webhook action.

    Vybrat akci Webhooku protokolu HTTP

    Tento příklad přejmenuje akci na akci Webhooku protokolu HTTP, aby měl krok výstižnější název.This example renames the action to "HTTP Webhook action" so that the step has a more descriptive name.

  4. Zadejte hodnoty pro parametry akce Webhooku protokolu HTTP, které se podobají parametrům triggeru Webhooku protokolu HTTP, které chcete použít pro přihlášení k odběru a zrušení odběru.Provide the values for the HTTP Webhook action parameters, which are similar to the HTTP Webhook trigger parameters, that you want to use for the subscribe and unsubscribe calls.

    V tomto příkladu zahrnuje tato akce metody, identifikátory URI a texty zpráv, které se mají použít při provádění operací přihlášení k odběru a zrušení odběru.In this example, the action includes the methods, URIs, and message bodies to use when performing the subscribe and unsubscribe operations.

    Zadejte parametry akce Webhooku protokolu HTTP.

    VlastnostProperty PovinnéRequired PopisDescription
    Předplatné – metodaSubscription - Method YesYes Metoda, která se má použít při přihlášení k odběru cílového koncového boduThe method to use when subscribing to the target endpoint
    Přihlášení k odběru – identifikátor URISubscribe - URI YesYes Adresa URL, která se má použít pro přihlášení k odběru cílového koncového boduThe URL to use for subscribing to the target endpoint
    Přihlášení k odběru – těloSubscribe - Body NoNo Libovolný text zprávy, který má být zahrnut do žádosti o přihlášení k odběru.Any message body to include in the subscribe request. Tento příklad obsahuje adresu URL zpětného volání, která jednoznačně identifikuje předplatitele, což je vaše aplikace logiky, pomocí @listCallbackUrl() výrazu pro načtení adresy URL zpětného volání aplikace logiky.This example includes the callback URL that uniquely identifies the subscriber, which is your logic app, by using the @listCallbackUrl() expression to retrieve your logic app's callback URL.
    Zrušit odběr – metodaUnsubscribe - Method NoNo Metoda, která se má použít při zrušení odběru cílového koncového boduThe method to use when unsubscribing from the target endpoint
    Odhlásit odběr – identifikátor URIUnsubscribe - URI NoNo Adresa URL, která se má použít k odhlášení odběru cílového koncového boduThe URL to use for unsubscribing from the target endpoint
    Odhlásit odběr – těloUnsubscribe - Body NoNo Volitelný text zprávy, který se má zahrnout do žádosti o zrušení odběruAn optional message body to include in the unsubscribe request

    Poznámka: Tato vlastnost nepodporuje použití listCallbackUrl() funkce.Note: This property doesn't support using the listCallbackUrl() function. Tato akce ale automaticky zahrne a pošle hlavičky x-ms-client-tracking-id a x-ms-workflow-operation-name , které může cílová služba použít k jednoznačné identifikaci předplatitele.However, the action automatically includes and sends the headers, x-ms-client-tracking-id and x-ms-workflow-operation-name, which the target service can use to uniquely identify the subscriber.

  5. Chcete-li přidat další vlastnosti akce, otevřete seznam Přidat nový parametr .To add other action properties, open the Add new parameter list.

    Přidat další vlastnosti akce

    Pokud například potřebujete použít ověřování, můžete přidat odběr-ověřování a zrušit odběr vlastností ověřování .For example, if you need to use authentication, you can add the Subscribe - Authentication and Unsubscribe - Authentication properties. Další informace o typech ověřování dostupných pro Webhook HTTP najdete v tématu Přidání ověřování do odchozích volání.For more information about authentication types available for HTTP Webhook, see Add authentication to outbound calls.

  6. Až budete hotovi, nezapomeňte uložit aplikaci logiky.When you're finished, remember to save your logic app. Na panelu nástrojů návrháře vyberte Uložit.On the designer toolbar, select Save.

    Teď, když se tato akce spustí, vaše aplikace logiky zavolá koncový bod přihlášení k cílové službě a zaregistruje adresu URL zpětného volání.Now, when this action runs, your logic app calls the subscribe endpoint on the target service and registers the callback URL. Aplikace logiky potom pozastaví pracovní postup a počká, až cílová služba odešle HTTP POST požadavek na adresu URL zpětného volání.The logic app then pauses the workflow and waits for the target service to send an HTTP POST request to the callback URL. Pokud k této události dojde, akce předá do pracovního postupu všechna data v žádosti.When this event happens, the action passes any data in the request along to the workflow. Pokud se operace úspěšně dokončí, akce odhlásit odběr koncového bodu a vaše aplikace logiky pokračuje v běhu zbývajícího pracovního postupu.If the operation completes successfully, the action unsubscribes from the endpoint, and your logic app continues running the remaining workflow.

Výstupy triggeru a akceTrigger and action outputs

Zde jsou další informace o výstupech z triggeru nebo akce Webhooku HTTP, které vrací tyto informace:Here is more information about the outputs from an HTTP Webhook trigger or action, which returns this information:

Název vlastnostiProperty name TypType DescriptionDescription
záhlavíheaders objectobject Hlavičky z požadavkuThe headers from the request
textbody objectobject Objekt s obsahem textu z požadavkuThe object with the body content from the request
stavový kódstatus code intint Stavový kód z požadavkuThe status code from the request
Stavový kódStatus code DescriptionDescription
200200 OKOK
202202 PřijatoAccepted
400400 Chybný požadavekBad request
401401 NeautorizovánoUnauthorized
403403 ForbiddenForbidden
404404 NenalezenoNot Found
500500 Vnitřní chyba serveru.Internal server error. Došlo k neznámé chybě.Unknown error occurred.

Referenční informace ke konektorůmConnector reference

Další informace o parametrech Trigger a Action, které jsou podobné ostatním, najdete v tématu parametry Webhooku protokolu HTTP.For more information about trigger and action parameters, which are similar to each other, see HTTP Webhook parameters.

Další krokyNext steps