Abonneren en wachten tot gebeurtenissen werkstromen uitvoeren met behulp van HTTP-webhooks in Azure Logic Apps

Van toepassing op: Azure Logic Apps (Verbruik + Standard)

In plaats van een trigger te gebruiken die regelmatig een service-eindpunt of actie controleert of peilt die dat eindpunt aanroept , kunt u een HTTP-webhooktrigger of -actie gebruiken die zich abonneert op een service-eindpunt, wacht op specifieke gebeurtenissen en specifieke acties uitvoert in uw werkstroom.

Hier volgen enkele voorbeelden van webhookgebaseerde werkstromen:

  • Wacht tot een gebeurtenis afkomstig is van Azure Event Hubs voordat u een werkstroomuitvoering activeert.
  • Wacht op een goedkeuring voordat u doorgaat met een werkstroom.

Deze handleiding laat zien hoe u de HTTP-webhooktrigger en webhookactie gebruikt, zodat uw werkstroom gebeurtenissen op een service-eindpunt kan ontvangen en erop kan reageren.

Hoe werken webhooks?

Een webhooktrigger is gebaseerd op gebeurtenissen, die niet afhankelijk is van het regelmatig controleren of peilen van nieuwe gegevens of gebeurtenissen. Nadat u een webhooktrigger hebt toegevoegd aan een lege werkstroom en vervolgens de werkstroom hebt opgeslagen, of nadat u een uitgeschakelde logische app-resource opnieuw hebt ingeschakeld, abonneert de webhooktrigger zich op het opgegeven service-eindpunt door een callback-URL bij dat eindpunt te registreren. De trigger wacht vervolgens totdat het service-eindpunt de URL aanroept, waardoor de trigger wordt geactiveerd en de werkstroom wordt gestart. Net als bij de aanvraagtrigger wordt een webhooktrigger onmiddellijk geactiveerd. De webhooktrigger blijft ook geabonneerd op het service-eindpunt, tenzij u handmatig de volgende acties uitvoert:

  • Wijzig de parameterwaarden van de trigger.
  • Verwijder de trigger en sla uw werkstroom op.
  • Schakel de resource van uw logische app uit.

Net als bij de webhooktrigger werkt een webhookactie ook op basis van gebeurtenissen. Nadat u een webhookactie aan een bestaande werkstroom hebt toegevoegd en vervolgens de werkstroom hebt opgeslagen, of nadat u een uitgeschakelde logische app-resource opnieuw hebt ingeschakeld, abonneert de webhookactie zich op het opgegeven service-eindpunt door een callback-URL bij dat eindpunt te registreren. Wanneer de werkstroom wordt uitgevoerd, wordt de werkstroom onderbroken door de webhookactie en wordt gewacht totdat het service-eindpunt de URL aanroept voordat de werkstroom wordt uitgevoerd. Een webhookactie wordt afgemeld bij het service-eindpunt wanneer de volgende voorwaarden optreden:

  • De webhookactie is voltooid.
  • De uitvoering van de werkstroom wordt geannuleerd tijdens het wachten op een antwoord.
  • Voordat er een time-out optreedt voor een werkstroom.
  • U wijzigt alle parameterwaarden voor webhookacties die worden gebruikt als invoer door een webhooktrigger.

De actie Goedkeurings-e-mail verzenden van de Office 365 Outlook-connector is bijvoorbeeld een voorbeeld van een webhookactie die volgt op dit patroon. U kunt dit patroon uitbreiden naar elke service met behulp van de webhookactie.

Voor meer informatie raadpleegt u de volgende documentatie:

Voor informatie over versleuteling, beveiliging en autorisatie voor binnenkomende aanroepen naar uw logische app, zoals Transport Layer Security (TLS), voorheen SSL (Secure Sockets Layer) of Microsoft Entra ID Open Authentication (Microsoft Entra ID OAuth) raadpleegt u Beveiligde toegang en gegevens - Toegang voor binnenkomende aanroepen naar op aanvragen gebaseerde triggers.

Verbinding maken of technische naslaginformatie

Zie HTTP Webhook-parameters voor meer informatie over trigger- en actieparameters.

Vereisten

  • Een Azure-account en -abonnement. Als u nog geen abonnement op Azure hebt, registreer u dan nu voor een gratis Azure-account.

  • De URL voor een al geïmplementeerd eindpunt of API dat ondersteuning biedt voor het webhook-abonnement en het afmeldingspatroon voor webhooktriggers in werkstromen of webhookacties in werkstromen , indien van toepassing

  • De werkstroom van de logische app Standard of Consumption waar u wilt wachten op specifieke gebeurtenissen op het doeleindpunt. Als u wilt beginnen met de HTTP Webhook-trigger, maakt u een logische app met een lege werkstroom. Als u de HTTP-webhookactie wilt gebruiken, start u de werkstroom met een gewenste trigger. In dit voorbeeld wordt de HTTP-trigger gebruikt als eerste stap.

Een HTTP-webhooktrigger toevoegen

Met deze ingebouwde trigger wordt het eindpunt voor het abonneren aangeroepen op de doelservice en wordt een callback-URL geregistreerd bij de doelservice. Uw werkstroom wacht vervolgens totdat de doelservice een HTTP POST aanvraag naar de callback-URL verzendt. Wanneer deze gebeurtenis plaatsvindt, wordt de trigger geactiveerd en worden alle gegevens in de aanvraag doorgegeven aan de werkstroom.

  1. Open in Azure Portal uw standaard logische app en lege werkstroom in de ontwerpfunctie.

  2. Volg deze algemene stappen om de trigger met de naam HTTP Webhook toe te voegen aan uw werkstroom.

    In dit voorbeeld wordt de naam van de trigger gewijzigd in de HTTP-webhooktrigger , zodat de stap een meer beschrijvende naam heeft. In het voorbeeld wordt later ook een HTTP Webhook-actie toegevoegd en moeten beide namen uniek zijn.

  3. Geef de waarden op voor de HTTP Webhook-triggerparameters die u wilt gebruiken voor de aanroepen voor abonneren en afmelden.

    Eigenschappen Vereist Beschrijving
    Abonnement - methode Ja De methode die moet worden gebruikt bij het abonneren op het doeleindpunt
    Abonneren - URI Ja De URL die moet worden gebruikt voor het abonneren op het doeleindpunt
    Abonneren - Hoofdtekst Nee Elke berichttekst die moet worden opgenomen in de aanvraag voor abonneren. Dit voorbeeld bevat de callback-URL waarmee de abonnee, uw logische app, uniek wordt geïdentificeerd met behulp van de expressie om de @listCallbackUrl() callback-URL van uw logische app op te halen.
    Afmelden - methode Nee De methode die moet worden gebruikt bij het afmelden van het doeleindpunt
    Afmelden - URI Nee De URL die moet worden gebruikt om u af te melden bij het doeleindpunt
    Afmelden - Hoofdtekst Nee Een optionele berichttekst die moet worden opgenomen in de afmeldingsaanvraag

    Opmerking: deze eigenschap biedt geen ondersteuning voor het gebruik van de listCallbackUrl() functie. De trigger bevat echter automatisch de headers en verzendt deze, x-ms-client-tracking-idx-ms-workflow-operation-namedie de doelservice kan gebruiken om de abonnee uniek te identificeren.

    Notitie

    Voor de eigenschappen Unsubscribe - Method and Unsubscribe - URI , voegt u deze toe aan uw actie door de lijst met geavanceerde parameters te openen.

    De volgende trigger bevat bijvoorbeeld de methoden, URI's en berichtteksten die moeten worden gebruikt bij het uitvoeren van de bewerkingen voor abonneren en afmelden.

    Screenshot shows Standard workflow with HTTP Webhook trigger parameters.

    Als u verificatie wilt gebruiken, kunt u de eigenschappen Abonneren - Verificatie en Afmelden - Verificatie toevoegen. Zie Verificatie toevoegen aan uitgaande aanroepen voor meer informatie over verificatietypen die beschikbaar zijn voor HTTP Webhook.

  4. Ga door met het bouwen van uw werkstroom met acties die worden uitgevoerd wanneer de trigger wordt geactiveerd.

  5. Sla uw werkstroom op als u gereed bent. Selecteer in de werkbalk van de ontwerper Opslaan.

Als u uw werkstroom opslaat, wordt het eindpunt voor het abonneren op de doelservice aangeroepen en wordt de callback-URL geregistreerd. Uw werkstroom wacht vervolgens totdat de doelservice een HTTP POST aanvraag naar de callback-URL verzendt. Wanneer deze gebeurtenis plaatsvindt, wordt de trigger geactiveerd en worden alle gegevens in de aanvraag doorgegeven aan de werkstroom. Als deze bewerking is voltooid, wordt de trigger afgemeld bij het eindpunt en gaat uw werkstroom verder met de volgende actie.

Een HTTP-webhookactie toevoegen

Met deze ingebouwde actie wordt het eindpunt voor het abonneren aangeroepen in de doelservice en wordt een callback-URL geregistreerd bij de doelservice. Uw werkstroom onderbreekt en wacht tot de doelservice een HTTP POST aanvraag naar de callback-URL verzendt. Wanneer deze gebeurtenis plaatsvindt, worden alle gegevens in de aanvraag doorgegeven aan de werkstroom. Als de bewerking is voltooid, wordt de actie afgemeld bij het eindpunt en blijft uw werkstroom doorgaan met de volgende actie.

In dit voorbeeld wordt de HTTP Webhook-trigger gebruikt als eerste stap.

  1. Open in Azure Portal uw standaard logische app en werkstroom in de ontwerpfunctie.

  2. Volg deze algemene stappen om de actie HTTP Webhook toe te voegen aan uw werkstroom.

    In dit voorbeeld wordt de naam van de actie gewijzigd in de HTTP-webhookactie , zodat de stap een meer beschrijvende naam heeft.

  3. Geef de waarden op voor de http Webhook-actieparameters, die vergelijkbaar zijn met de http Webhook-triggerparameters, die u wilt gebruiken voor de aanroepen voor abonneren en afmelden.

    Eigenschappen Vereist Beschrijving
    Abonnement - methode Ja De methode die moet worden gebruikt bij het abonneren op het doeleindpunt
    Abonneren - URI Ja De URL die moet worden gebruikt voor het abonneren op het doeleindpunt
    Abonneren - Hoofdtekst Nee Elke berichttekst die moet worden opgenomen in de aanvraag voor abonneren. Dit voorbeeld bevat de callback-URL waarmee de abonnee, uw logische app, uniek wordt geïdentificeerd met behulp van de expressie om de @listCallbackUrl() callback-URL van uw logische app op te halen.
    Afmelden - methode Nee De methode die moet worden gebruikt bij het afmelden van het doeleindpunt
    Afmelden - URI Nee De URL die moet worden gebruikt om u af te melden bij het doeleindpunt
    Afmelden - Hoofdtekst Nee Een optionele berichttekst die moet worden opgenomen in de afmeldingsaanvraag

    Opmerking: deze eigenschap biedt geen ondersteuning voor het gebruik van de listCallbackUrl() functie. De actie bevat en verzendt echter automatisch de headers x-ms-client-tracking-id en x-ms-workflow-operation-name, die de doelservice kan gebruiken om de abonnee uniek te identificeren.

    Notitie

    Voor de eigenschappen Unsubscribe - Method and Unsubscribe - URI , voegt u deze toe aan uw actie door de lijst met geavanceerde parameters te openen.

    De volgende actie bevat bijvoorbeeld de methoden, URI's en berichtteksten die moeten worden gebruikt bij het uitvoeren van de bewerkingen voor abonneren en afmelden.

    Screenshot shows Standard workflow with HTTP Webhook action parameters.

  4. Als u andere actie-eigenschappen wilt toevoegen, opent u de lijst met geavanceerde parameters .

    Als u bijvoorbeeld verificatie wilt gebruiken, kunt u de eigenschappen Abonneren - Verificatie en Afmelden - Verificatie toevoegen. Zie Verificatie toevoegen aan uitgaande aanroepen voor meer informatie over verificatietypen die beschikbaar zijn voor HTTP Webhook.

  5. Sla uw werkstroom op als u gereed bent. Selecteer in de werkbalk van de ontwerper Opslaan.

Wanneer deze actie wordt uitgevoerd, roept uw werkstroom het eindpunt voor het abonneren aan op de doelservice en registreert u de callback-URL. De werkstroom onderbreekt en wacht totdat de doelservice een HTTP POST aanvraag naar de callback-URL verzendt. Wanneer deze gebeurtenis plaatsvindt, worden alle gegevens in de aanvraag doorgegeven aan de werkstroom. Als de bewerking is voltooid, wordt de actie afgemeld bij het eindpunt en blijft uw werkstroom doorgaan met de volgende actie.

Uitvoer van triggers en acties

Hier vindt u meer informatie over de uitvoer van een HTTP-webhooktrigger of -actie, die deze informatie retourneert:

Eigenschapsnaam Type Description
headers object De headers van de aanvraag
hoofdtekst object Het object met de hoofdtekstinhoud van de aanvraag
statuscode int De statuscode van de aanvraag
Statuscode Beschrijving
200 OK
202 Geaccepteerd
400 Ongeldige aanvraag
401 Niet geautoriseerd
403 Verboden
404 Niet gevonden
500 Interne serverfout. Er is een onbekende fout opgetreden.

Volgende stappen