Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för: Azure Logic Apps (Förbrukning + Standard)
När du vill att en arbetsflödesutlösare eller åtgärd ska vänta på att händelser eller data ska komma fram till en måltjänstslutpunkt innan de körs använder du HTTP Webhook-utlösaren eller åtgärden i stället för att proaktivt kontrollera slutpunkten enligt ett schema. HTTP Webhook-utlösaren eller åtgärden prenumererar på tjänstslutpunkten och väntar på nya händelser eller data innan den körs. Du kan använda webhook-mönstret för tidskrävande uppgifter och asynkron bearbetning.
I följande lista beskrivs exempel på webhook-baserade arbetsflöden:
- En HTTP Webhook-utlösare väntar på att en händelse ska komma från Azure Event Hubs innan arbetsflödet körs.
- En HTTP Webhook-åtgärd väntar på ett godkännande i Office 365 Outlook innan nästa åtgärd i arbetsflödet fortsätter.
Den här guiden visar hur du konfigurerar HTTP Webhook-utlösaren och HTTP Webhook-åtgärden så att arbetsflödet kan ta emot och svara på nya händelser eller data på en tjänstslutpunkt.
Hur fungerar webhooks?
En webhook-utlösare eller åtgärd avsöker inte eller söker proaktivt efter nya händelser eller data vid måltjänstens slutpunkt. I stället väntar utlösaren eller åtgärden tills nya händelser eller data kommer till tjänstslutpunkten innan de körs. När du har lagt till en webhook-utlösare eller åtgärd i arbetsflödet och sedan sparat arbetsflödet, eller när du har återaktiverat en inaktiverad logikappresurs, så registreras utlösaren eller åtgärden för webhook på tjänstslutpunkten genom att generera och registrera en motringnings-URL med slutpunkten. Utlösaren eller åtgärden väntar sedan på att tjänstslutpunkten ska anropa URL:en, som kör utlösaren eller åtgärden. Precis som utlösaren Förfrågning utlöses en HTTP Webhook-utlösare omedelbart.
Till exempel följer åtgärden Office 365 Outlook connector med namnet Send approval email webhook-mönstret men fungerar bara med Office 365 Outlook. Du kan utöka webhook-mönstret till valfri tjänst med hjälp av HTTP Webhook-utlösaren eller åtgärden med den tjänstslutpunkt du vill ha.
En webhook-utlösare fortsätter att prenumerera på en tjänstslutpunkt tills du utför någon av följande åtgärder manuellt:
- Ändra utlösarens parametervärden.
- Ta bort utlösaren och spara sedan arbetsflödet.
- Inaktivera logikappresursen.
En webhook-åtgärd förblir prenumererad på en tjänstslutpunkt om inget av följande villkor inträffar:
- Webhook-åtgärden har slutförts.
- Du avbryter arbetsflödeskörningen i väntan på ett svar.
- Arbetsflödet går ut på tid.
- Du ändrar alla parametervärden för webhook-åtgärder som en webhook-utlösare använder som indata.
Mer information finns i:
- Webhooks och prenumerationer
- Skapa anpassade API:er som stöder en webhook
- Åtkomst för utgående anrop till andra tjänster och system
Förutsättningar
Ett Azure konto och en prenumeration. Hämta ett kostnadsfritt Azure konto.
URL:en för en driftsatt tjänstslutpunkt eller ett API.
Det här objektet måste ha stöd för mönstret "prenumerera och avsluta prenumeration" för webhooksutlösare i arbetsflöden eller webhook-åtgärder i arbetsflöden.
Arbetsflödet för logikappen Standard eller Förbrukning där du vill använda HTTP Webhook-utlösaren eller åtgärden.
- Om du vill använda HTTP Webhook-utlösaren skapar du en logikappresurs med ett tomt arbetsflöde.
- Om du vill använda HTTP Webhook-åtgärden startar du arbetsflödet med alla utlösare som fungerar bäst för ditt scenario. I exemplen används HTTP Webhook-utlösaren .
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.
Öppna logikappresursen i Azure-portalen. Öppna ditt tomma arbetsflöde i designern.
Följ de 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
Run HTTP Webhook triggerett mer beskrivande namn. Exemplet lägger också senare till en HTTP Webhook-åtgärd . Båda namnen måste vara unika.För HTTP Webhook-utlösarparametrarna anger du värdena för prenumerations- och avprenumerationsanropen:
Parameter Obligatoriskt Beskrivning Prenumerationsmetod Ja Den metod som ska användas för att prenumerera på målslutpunkten. Prenumerera på URI Ja Url:en som ska användas för att prenumerera på målslutpunkten. Prenumerationsavsnitt Nej Alla meddelandetexter som ska inkluderas i prenumerationsbegäran. Det här exemplet innehåller den motringnings-URL som unikt identifierar prenumeranten, vilket är ditt arbetsflöde, genom att använda uttrycksfunktionen för att hämta utlösarens motringnings-URL. Avregistrera meddelande Nej Alla meddelandetexter som ska inkluderas i begäran om att avbryta prenumerationen. Du kan använda listCallbackUrl()uttrycksfunktionen för att hämta åtgärdens återanrops-URL. Utlösaren inkluderar och skickar dock automatiskt rubrikerna ochx-ms-client-tracking-idx-ms-workflow-operation-name, som måltjänsten kan använda för att unikt identifiera prenumeranten.Om du vill lägga till andra utlösarparametrar öppnar du listan Avancerade parametrar .
Om du till exempel vill använda URI-parametrarna Unsubscribe Method och Unsubscribe lägger du till dem från listan Avancerade parametrar .
I följande exempel visas en utlösare som innehåller de metoder, URI:er och meddelandeorgan som ska användas för prenumerations- och avprenumerationsmetoderna:
Om du behöver använda autentisering lägger du till parametrarna Prenumerera på autentisering och Avregistrera autentisering från listan Avancerade parametrar .
Mer information om autentiseringstyper som är tillgängliga för HTTP Webhook finns i Lägga till autentisering i utgående anrop.
Lägg till andra åtgärder som ditt scenario behöver.
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 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. När åtgärden genomförs framgångsrikt avslutar utlösaren prenumerationen på 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 återanrops-URL hos 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 slutförs framgångsrikt, avregistreras åtgärden från slutpunkten och arbetsflödet fortsätter till nästa åtgärd.
Öppna logikappresursen i Azure-portalen. Öppna arbetsflödet i designern.
Följ de allmänna stegen för att lägga till åtgärden med namnet HTTP Webhook i arbetsflödet.
I det här exemplet byter du namn på åtgärden till
Run HTTP Webhook actionett mer beskrivande namn. Om arbetsflödet också använder HTTP Webhook-utlösaren måste båda namnen vara unika.För HTTP Webhook-åtgärdsparametrarna anger du de värden som ska användas för prenumerations- och avprenumerationsanropen:
Parameter Obligatoriskt Beskrivning Prenumerationsmetod Ja Den metod som ska användas för att prenumerera på målslutpunkten. Prenumerera på URI Ja Url:en som ska användas för att prenumerera på målslutpunkten. Prenumerationsavsnitt Nej Alla meddelandetexter som ska inkluderas i prenumerationsbegäran. Det här exemplet innehåller den motringnings-URL som unikt identifierar prenumeranten inom ditt arbetsflöde, med hjälp av uttrycksfunktionen listCallbackUrl()för att hämta åtgärdens motringnings-URL.Avregistrera meddelande Nej Alla meddelandetexter som ska inkluderas i begäran om att avbryta prenumerationen. Du kan använda listCallbackUrl()uttrycksfunktionen för att hämta åtgärdens återanrops-URL. Men åtgärden innehåller och skickar automatiskt rubrikernax-ms-client-tracking-idochx-ms-workflow-operation-name, som måltjänsten kan använda för att unikt identifiera prenumeranten.Om du vill lägga till andra åtgärdsparametrar öppnar du listan Avancerade parametrar .
Om du till exempel vill använda URI-parametrarna Unsubscribe Method och Unsubscribe lägger du till dem från listan Avancerade parametrar .
I följande exempel visas en åtgärd som innehåller de metoder, URI:er och meddelandeorgan som ska användas för prenumerations- och avprenumerationsmetoderna:
Om du behöver använda autentisering lägger du till parametrarna Prenumerera på autentisering och Avregistrera autentisering från listan Avancerade parametrar .
Mer information om autentiseringstyper som är tillgängliga för HTTP Webhook finns i Lägga till autentisering i utgående anrop.
Lägg till andra åtgärder som ditt scenario behöver.
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 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 slutförs framgångsrikt, avregistreras åtgärden från slutpunkten och arbetsflödet fortsätter till nästa åtgärd.
Teknisk referens för anslutning
Mer information om HTTP Webhook-utlösaren och åtgärdsparametrarna finns i HTTP Webhook-parametrar. Utlösaren och åtgärden har samma parametrar.
Token för signatur för delad åtkomst (SAS) upphör att gälla
Motringnings-URL:en för HTTP Webhook-utlösaren eller åtgärden genereras automatiskt av metoden List Callback Url – REST API. Som standard har SAS-token i motringnings-URL:en ingen tidsbaserad förfallotid. Återanrops-URL:en förblir giltig under arbetsflödets körningstid.
Tidsgränser
I följande tabell beskrivs tidsgränserna för HTTP Webhook-åtgärden baserat på värdalternativet för logikappen:
| Hostingalternativ | Arbetsflödestyp | Varaktighet |
|---|---|---|
| Förbrukning | Stateful | Upp till 90 dagar. |
| Standard | Stateful | Upp till 30 dagar. |
| Standard | Tillståndslös | 5 minuter (fast gräns) |
HTTP Webhook-åtgärdens motringnings-URL blir ogiltig när följande händelser inträffar:
- Du avbryter arbetsflödet.
- Du tar bort eller inaktiverar arbetsflödet eller logikappresursen.
- Du roterar arbetsflödets åtkomstnycklar.
- Arbetsflödet går ut på tid.
Andra HTTP-gränser finns i HTTP-gränser i Azure Logic Apps.
Ändra tidsgräns
Om du vill ändra den här gränsen för åtgärden HTTP Webhook i tillståndskänsliga arbetsflöden med hjälp av Azure-portalen läser du tabellen Timeout duration för utgående HTTP-begäranden. Eller i åtgärdens JSON-definition lägger du till limit.timeout objektet och anger värdet till önskad varaktighet, till exempel:
{
"actions": {
"Run_HTTP_Webhook_action": {
"type": "HttpWebhook",
"inputs": {
"subscribe": {
"method": "POST",
"uri": "https://<external-service>.com/subscribe",
"body": {
"callbackUrl": "@{listCallBackUrl()}"
}
},
"unsubscribe": {}
},
"limit": {
"timeout": "PT1H"
}
}
}
}
Utdata för utlösare och åtgärder
Följande tabeller innehåller mer information om utdata som returneras av en HTTP Webhook-utlösare eller -åtgärd:
| JSON-namn | Typ | Beskrivning |
|---|---|---|
headers |
JSON-objekt | Rubrikerna från begäran. |
body |
JSON-objekt | Objektet med brödtextinnehållet från begäran. |
status code |
int | Statuskoden från begäran. |
| Statuskod | Beskrivning |
|---|---|
| 200 | OKEJ |
| 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. |
Generera motringnings-URL med sekundär åtkomstnyckel
Ett logikapparbetsflöde har två åtkomstnycklar: primär och sekundär. Som standardinställning genererar Azure Logic Apps motringnings-URL:en för HTTP webhook-utlösaren genom att använda primärnyckeln.
Följ dessa steg om du vill använda den sekundära nyckeln i stället för generering av motringnings-URL:
Om du är i arbetsflödesdesignern växlar du till kodvyn.
Leta reda på parametern
HttpWebhooki utlösardefinitionenaccessKeyType.Ange ordet
Secondarysom parametervärde.Spara dina ändringar.
I följande exempel visas definitionen för webhookens utlösare med parametern inställd på accessKeyTypeSecondary:
{
"type": "HttpWebhook",
"inputs": {
"subscribe": {
"method": "POST",
"uri": "<subscription-URL>",
"body": "@listCallbackUrl()"
},
"accessKeyType": "Secondary"
},
"runAfter": {}
}