Händelsehanterare i Azure Web PubSub-tjänsten

Händelsehanteraren hanterar inkommande klienthändelser. Händelsehanterare registreras och konfigureras i tjänsten via Azure-portalen eller Azure CLI. När en klienthändelse utlöses kan tjänsten skicka händelsen till lämplig händelsehanterare. Tjänsten Web PubSub har nu stöd för händelsehanteraren som serversidan, vilket gör den offentligt tillgängliga slutpunkten tillgänglig för tjänsten att anropa när händelsen utlöses. Med andra ord fungerar den som en webhook.

Web PubSub-tjänsten levererar klienthändelser till den överordnade webhooken med hjälp av HTTP-protokollet CloudEvents.

För varje händelse formulerar tjänsten en HTTP POST-begäran till den registrerade överordnade slutpunkten och förväntar sig ett HTTP-svar.

Data som skickas från tjänsten till servern är alltid i CloudEvents-format binary .

Screenshot of Web PubSub service event trigger.

Uppströms och validering

När du konfigurerar webhooksslutpunkten kan URL:en innehålla parametern {event} för att definiera en URL-mall. Tjänsten beräknar värdet för webhook-URL:en dynamiskt när klientbegäran kommer in. När en begäran /client/hubs/chat till exempel kommer in, med ett konfigurerat händelsehanterar-URL-mönster http://host.com/api/{event} för hubben chat, när klienten ansluter, kommer den först ATT SKICKA till den här URL:en: http://host.com/api/connect. Parametern {event} kan vara användbar när en PubSub WebSocket-klient skickar anpassade händelser, att händelsehanteraren hjälper till att skicka olika händelser till olika överordnade slutpunkter. Parametern {event} tillåts inte i URL-domännamnet.

När du konfigurerar händelsehanterarwebbhooken via Azure-portalen eller CLI följer tjänsten CloudEvents Abuse Protection för att verifiera den överordnade webhooken. Varje registrerad webhook-URL för överordnad verifieras av den här mekanismen. Begärandehuvudet WebHook-Request-Origin är inställt på tjänstdomännamnet xxx.webpubsub.azure.comoch förväntar sig att svaret har ett huvud WebHook-Allowed-Origin som ska innehålla det här domännamnet eller *.

När du utför verifieringen matchas parametern {event} till validate. När du till exempel försöker ange URL:en till http://host.com/api/{event}försöker tjänsten att ange ALTERNATIV för en begäran till http://host.com/api/validate. Och bara när svaret är giltigt kan konfigurationen ställas in.

För tillfället stöder vi inte WebHook-Request-Rate och WebHook-Request-Callback.

Autentisering mellan tjänst och webhook

Du kan använda någon av dessa metoder för att autentisera mellan tjänsten och webhooken.

Konfigurera händelsehanterare

Konfigurera via Azure-portalen

Du kan lägga till en händelsehanterare i en ny hubb eller redigera en befintlig hubb.

Så här konfigurerar du en händelsehanterare i en ny hubb:

  1. Gå till tjänstsidan för Azure Web PubSub i Azure-portalen.

  2. Välj Inställningar på menyn.

  3. Välj Lägg till för att skapa en hubb och konfigurera webhookens URL på serversidan. Obs! Om du vill lägga till en händelsehanterare i en befintlig hubb väljer du hubben och väljer Redigera.

    Screenshot of setting the event handler.

  4. Ange hubbens namn.

  5. Välj Lägg till under Konfigurera jämna hanterare.

  6. På händelsehanterarsidan konfigurerar du följande fält: 1. Ange serverns webhook-URL i fältet URL-mall . 1. Välj de systemhändelser som du vill prenumerera på. 1. Välj de användarhändelser som du vill prenumerera på. 1. Välj Autentiseringsmetod för att autentisera överordnade begäranden. 1. Välj Bekräfta. Screenshot of Azure Web PubSub Configure Event Handler.

  7. Välj Spara överst på sidan Konfigurera hubb Inställningar.

    Screenshot of Azure Web PubSub Configure Hub Settings.

Konfigurera via Azure CLI

Använd azure CLI az webpubsub hub group-kommandon för att konfigurera inställningarna för händelsehanteraren.

Kommandon Description
create Skapa hubbinställningar för WebPubSub Service.
delete Ta bort hubbinställningar för WebPubSub Service.
list Visa en lista över alla hubbinställningar för WebPubSub Service.
show Visa hubbinställningar för WebPubSub Service.
update Uppdatera hubbinställningarna för WebPubSub Service.

Här är ett exempel på hur du skapar två webhook-URL:er för resurshubben MyHubMyWebPubSub :

az webpubsub hub create -n "MyWebPubSub" -g "MyResourceGroup" --hub-name "MyHub" --event-handler url-template="http://host.com" user-event-pattern="*" --event-handler url-template="http://host2.com" system-event="connected" system-event="disconnected" auth-type="ManagedIdentity" auth-resource="uri://myUri"

Nästa steg

Använd dessa resurser för att börja skapa ett eget program: