Prenumerera och vänta på att händelser ska köra arbetsflöden med HTTP-webhooks i Azure Logic Apps

Gäller för: Azure Logic Apps (Förbrukning + Standard)

I stället för att använda en utlösare som regelbundet kontrollerar eller avsöker en tjänstslutpunkt eller åtgärd som anropar slutpunkten kan du använda en HTTP Webhook-utlösare eller åtgärd som prenumererar på en tjänstslutpunkt, väntar på specifika händelser och kör specifika åtgärder i arbetsflödet.

Här är några exempel på webhook-baserade arbetsflöden:

  • Vänta tills en händelse kommer från Azure Event Hubs innan du utlöser en arbetsflödeskörning.
  • Vänta på ett godkännande innan du fortsätter med ett arbetsflöde.

Den här guiden visar hur du använder HTTP Webhook-utlösaren och Webhook-åtgärden så att arbetsflödet kan ta emot och svara på händelser på en tjänstslutpunkt.

Hur fungerar webhooks?

En webhook-utlösare är händelsebaserad, vilket inte är beroende av att kontrollera eller söka regelbundet efter nya data eller händelser. När du har lagt till en webhook-utlösare i ett tomt arbetsflöde och sedan sparat arbetsflödet, eller när du återaktiverar en inaktiverad logikappresurs, prenumererar webhooksutlösaren på den angivna tjänstslutpunkten genom att registrera en motringnings-URL med slutpunkten. Utlösaren väntar sedan på att tjänstslutpunkten ska anropa URL:en, som utlöser utlösaren och startar arbetsflödet. På samma sätt som utlösaren Förfrågning utlöses en webhook-utlösare omedelbart. Webhook-utlösaren prenumererar även på tjänstslutpunkten såvida du inte utför följande åtgärder manuellt:

  • Ändra utlösarens parametervärden.
  • Ta bort utlösaren och spara sedan arbetsflödet.
  • Inaktivera logikappresursen.

Precis som webhooksutlösaren fungerar även en webhook-åtgärd som händelsebaserad. När du har lagt till en webhook-åtgärd i ett befintligt arbetsflöde och sedan sparat arbetsflödet, eller när du återaktiverar en inaktiverad logikappresurs, prenumererar webhooken-åtgärden på den angivna tjänstslutpunkten genom att registrera en motringnings-URL med den slutpunkten. När arbetsflödet körs pausar webhooken arbetsflödet och väntar tills tjänstslutpunkten anropar URL:en innan arbetsflödet återupptas. En webhook-åtgärd avbryter prenumerationen från tjänstslutpunkten när följande villkor inträffar:

  • Webhook-åtgärden har slutförts.
  • Arbetsflödeskörningen avbryts i väntan på ett svar.
  • Innan tidsgränsen för arbetsflödet överskrids.
  • Du ändrar alla webhook-åtgärdsparametervärden som används som indata av en webhook-utlösare.

Office 365 Outlook-anslutningsappens e-poståtgärd Skicka godkännande är till exempel en webhook-åtgärd som följer det här mönstret. Du kan utöka det här mönstret till valfri tjänst med hjälp av webhook-åtgärden.

Mer information finns i följande dokumentation:

Information om kryptering, säkerhet och auktorisering för inkommande anrop till logikappen, till exempel TLS (Transport Layer Security), tidigare kallat Secure Sockets Layer (SSL) eller Microsoft Entra ID Open Authentication (Microsoft Entra ID OAuth) finns i Säker åtkomst och data – Åtkomst för inkommande anrop till begärandebaserade utlösare.

Anslut eller teknisk referens

Mer information om utlösar- och åtgärdsparametrar finns i HTTP Webhook-parametrar.

Förutsättningar

  • Ett Azure-konto och prenumeration. Om du heller inte har någon Azure-prenumeration kan du registrera ett kostnadsfritt Azure-konto.

  • URL:en för en redan distribuerad slutpunkt eller API som stöder webhookens prenumerations- och avprenumerationsmönster för webhooksutlösare i arbetsflöden eller webhook-åtgärder i arbetsflöden efter behov

  • Arbetsflödet för logikappen Standard eller Förbrukning där du vill vänta på specifika händelser på målslutpunkten. Börja med HTTP Webhook-utlösaren genom att skapa en logikapp med ett tomt arbetsflöde. Om du vill använda HTTP Webhook-åtgärden startar du arbetsflödet med valfri utlösare. I det här exemplet används HTTP-utlösaren som det första steget.

Lägga till en HTTP Webhook-utlösare

Den här inbyggda utlösaren anropar prenumerationsslutpunkten på måltjänsten och registrerar en motringnings-URL med måltjänsten. Arbetsflödet väntar sedan på att måltjänsten ska skicka en HTTP POST begäran till motringnings-URL:en. När den här händelsen inträffar utlöses utlösaren och skickar alla data i begäran till arbetsflödet.

  1. Öppna standardlogikappen och det tomma arbetsflödet i designern i Azure-portalen.

  2. Följ de här allmänna stegen för att lägga till utlösaren med namnet HTTP Webhook i arbetsflödet.

    I det här exemplet byter du namn på utlösaren till HTTP Webhook-utlösaren så att steget har ett mer beskrivande namn. Dessutom lägger exemplet senare till en HTTP Webhook-åtgärd och båda namnen måste vara unika.

  3. Ange värdena för de HTTP Webhook-utlösarparametrar som du vill använda för prenumerations- och avprenumerationsanropen.

    Property Obligatoriskt Beskrivning
    Prenumeration – metod Ja Den metod som ska användas när du prenumererar på målslutpunkten
    Prenumerera – URI Ja URL:en som ska användas för att prenumerera på målslutpunkten
    Prenumerera – brödtext Nej Alla meddelandetexter som ska inkluderas i prenumerationsbegäran. Det här exemplet innehåller den motringnings-URL som unikt identifierar prenumeranten, som är din logikapp, genom att använda uttrycket för att hämta logikappens @listCallbackUrl() återanrops-URL.
    Avsluta prenumeration – metod Nej Den metod som ska användas vid avprenumerering från målslutpunkten
    Avsluta prenumeration – URI Nej Url:en som ska användas för att avbryta prenumerationen från målslutpunkten
    Avsluta prenumeration – brödtext Nej Ett valfritt meddelandetext som ska inkluderas i begäran om att avbryta prenumerationen

    Obs! Den här egenskapen stöder inte användning av listCallbackUrl() funktionen. Utlösaren inkluderar och skickar dock automatiskt rubrikerna och x-ms-client-tracking-idx-ms-workflow-operation-name, som måltjänsten kan använda för att unikt identifiera prenumeranten.

    Kommentar

    För URI-egenskaperna Unsubsubsubscribe – Method and Unsubscribe – lägger du till dem i åtgärden genom att öppna listan Avancerade parametrar.

    Följande utlösare innehåller till exempel de metoder, URI:er och meddelandeorgan som ska användas när du utför prenumerations- och avprenumerationsåtgärderna.

    Screenshot shows Standard workflow with HTTP Webhook trigger parameters.

    Om du behöver använda autentisering kan du lägga till egenskaperna Prenumerera – autentisering och Avsluta prenumeration – autentisering . Mer information om autentiseringstyper som är tillgängliga för HTTP Webhook finns i Lägga till autentisering i utgående anrop.

  4. Fortsätt att skapa arbetsflödet med åtgärder som körs när utlösaren utlöses.

  5. Spara arbetsflödet när du är klar. I verktygsfältet för designern väljer du Spara.

När du sparar arbetsflödet anropas prenumerationsslutpunkten på måltjänsten och återanrops-URL:en registreras. Arbetsflödet väntar sedan på att måltjänsten ska skicka en HTTP POST begäran till motringnings-URL:en. När den här händelsen inträffar utlöses utlösaren och skickar alla data i begäran till arbetsflödet. Om åtgärden har slutförts avbryter utlösaren prenumerationen från slutpunkten och arbetsflödet fortsätter till nästa åtgärd.

Lägga till en HTTP Webhook-åtgärd

Den här inbyggda åtgärden anropar prenumerationsslutpunkten på måltjänsten och registrerar en motringnings-URL med måltjänsten. Arbetsflödet pausar och väntar sedan på att måltjänsten ska skicka en HTTP POST begäran till motringnings-URL:en. När den här händelsen inträffar skickar åtgärden alla data i begäran till arbetsflödet. Om åtgärden har slutförts avslutas åtgärden från slutpunkten och arbetsflödet fortsätter till nästa åtgärd.

I det här exemplet används HTTP Webhook-utlösaren som det första steget.

  1. Öppna standardlogikappen och arbetsflödet i designern i Azure-portalen.

  2. Följ de här allmänna stegen för att lägga till åtgärden med namnet HTTP Webhook i arbetsflödet.

    Det här exemplet byter namn på åtgärden till HTTP Webhook-åtgärden så att steget har ett mer beskrivande namn.

  3. Ange värdena för HTTP Webhook-åtgärdsparametrarna, som liknar http Webhook-utlösarparametrarna, som du vill använda för prenumerations- och avprenumerationsanropen.

    Property Obligatoriskt Beskrivning
    Prenumeration – metod Ja Den metod som ska användas när du prenumererar på målslutpunkten
    Prenumerera – URI Ja URL:en som ska användas för att prenumerera på målslutpunkten
    Prenumerera – brödtext Nej Alla meddelandetexter som ska inkluderas i prenumerationsbegäran. Det här exemplet innehåller den motringnings-URL som unikt identifierar prenumeranten, som är din logikapp, genom att använda uttrycket för att hämta logikappens @listCallbackUrl() återanrops-URL.
    Avsluta prenumeration – metod Nej Den metod som ska användas vid avprenumerering från målslutpunkten
    Avsluta prenumeration – URI Nej Url:en som ska användas för att avbryta prenumerationen från målslutpunkten
    Avsluta prenumeration – brödtext Nej Ett valfritt meddelandetext som ska inkluderas i begäran om att avbryta prenumerationen

    Obs! Den här egenskapen stöder inte användning av listCallbackUrl() funktionen. Åtgärden innehåller dock automatiskt och skickar rubrikerna och x-ms-client-tracking-idx-ms-workflow-operation-name, som måltjänsten kan använda för att unikt identifiera prenumeranten.

    Kommentar

    För URI-egenskaperna Unsubsubsubscribe – Method and Unsubscribe – lägger du till dem i åtgärden genom att öppna listan Avancerade parametrar.

    Följande åtgärd innehåller till exempel de metoder, URI:er och meddelandeorgan som ska användas när du utför prenumerations- och avprenumerationsåtgärderna.

    Screenshot shows Standard workflow with HTTP Webhook action parameters.

  4. Om du vill lägga till andra åtgärdsegenskaper öppnar du listan Avancerade parametrar .

    Om du till exempel behöver använda autentisering kan du lägga till egenskaperna Prenumerera – autentisering och Avsluta prenumeration – autentisering . Mer information om autentiseringstyper som är tillgängliga för HTTP Webhook finns i Lägga till autentisering i utgående anrop.

  5. Spara arbetsflödet när du är klar. I verktygsfältet för designern väljer du Spara.

När den här åtgärden körs anropar arbetsflödet prenumerationsslutpunkten på måltjänsten och registrerar motringnings-URL:en. Arbetsflödet pausar och väntar sedan på att måltjänsten ska skicka en HTTP POST begäran till motringnings-URL:en. När den här händelsen inträffar skickar åtgärden alla data i begäran till arbetsflödet. Om åtgärden har slutförts avslutas åtgärden från slutpunkten och arbetsflödet fortsätter till nästa åtgärd.

Utdata för utlösare och åtgärder

Här är mer information om utdata från en HTTP Webhook-utlösare eller -åtgärd, som returnerar den här informationen:

Egenskapsnamn Type Beskrivning
rubriker objekt Rubrikerna från begäran
brödtext objekt Objektet med brödtextinnehållet från begäran
statuskod heltal Statuskoden från begäran
Statuskod beskrivning
200 OK
202 Godkänd
400 Felaktig begäran
401 Behörighet saknas
403 Ej tillåtet
404 Hittades inte
500 Internt serverfel. Ett okänt fel uppstod.

Nästa steg