Procedura obsługi zdarzeń w usłudze Azure Web PubSub

Procedura obsługi zdarzeń obsługuje przychodzące zdarzenia klienta. Programy obsługi zdarzeń są rejestrowane i konfigurowane w usłudze za pośrednictwem witryny Azure Portal lub interfejsu wiersza polecenia platformy Azure. Po wyzwoleniu zdarzenia klienta usługa może wysłać zdarzenie do odpowiedniej procedury obsługi zdarzeń. Usługa Web PubSub obsługuje teraz program obsługi zdarzeń po stronie serwera, który uwidacznia publicznie dostępny punkt końcowy dla usługi do wywołania po wyzwoleniu zdarzenia. Innymi słowy, działa jako element webhook.

Usługa Web PubSub dostarcza zdarzenia klienta do nadrzędnego elementu webhook przy użyciu protokołu HTTP CloudEvents.

Dla każdego zdarzenia usługa formułuje żądanie HTTP POST do zarejestrowanego nadrzędnego punktu końcowego i oczekuje odpowiedzi HTTP.

Dane wysyłane z usługi do serwera są zawsze w formacie CloudEvents binary .

Screenshot of Web PubSub service event trigger.

Nadrzędna i walidacja

Podczas konfigurowania punktu końcowego elementu webhook adres URL może zawierać {event} parametr w celu zdefiniowania szablonu adresu URL. Usługa oblicza wartość adresu URL elementu webhook dynamicznie po wystąpieniu żądania klienta. Na przykład gdy żądanie /client/hubs/chat zostanie dołączone, ze skonfigurowanym wzorcem http://host.com/api/{event} adresu URL procedury obsługi zdarzeń dla centrum chat, gdy klient nawiązuje połączenie, najpierw post do tego adresu URL: http://host.com/api/connect. Parametr {event} może być przydatny, gdy klient protokołu WebSocket pubSub wysyła zdarzenia niestandardowe, które program obsługi zdarzeń pomaga wysyłać różne zdarzenia do różnych nadrzędnych punktów końcowych. Parametr {event} nie jest dozwolony w nazwie domeny adresu URL.

Podczas konfigurowania elementu webhook programu obsługi zdarzeń za pośrednictwem witryny Azure Portal lub interfejsu wiersza polecenia usługa jest zgodna z usługą CloudEvents Abuse Protection w celu zweryfikowania nadrzędnego elementu webhook. Każdy zarejestrowany adres URL elementu webhook nadrzędnego zostanie zweryfikowany przez ten mechanizm. Nagłówek WebHook-Request-Origin żądania jest ustawiony na nazwę xxx.webpubsub.azure.comdomeny usługi i oczekuje, że odpowiedź będzie zawierać WebHook-Allowed-Origin tę nazwę domeny lub *.

Podczas sprawdzania {event} poprawności parametr jest rozpoznawany jako validate. Na przykład podczas próby ustawienia adresu URL na http://host.com/api/{event}wartość usługa podejmie próbę OPCJI żądania na http://host.com/api/validate. I tylko wtedy, gdy odpowiedź jest prawidłowa, konfigurację można ustawić pomyślnie.

Na razie nie obsługujemy funkcji WebHook-Request-Rate i WebHook-Request-Callback.

Uwierzytelnianie między usługą a elementem webhook

Użyć dowolnej z tych metod do uwierzytelniania między usługą i elementem webhook.

  • Tryb anonimowy
  • Proste uwierzytelnianie za ?code=<code> pomocą polecenia jest udostępniane za pośrednictwem skonfigurowanego adresu URL elementu webhook jako parametru zapytania.
  • Autoryzacja firmy Microsoft Entra. Aby uzyskać więcej informacji, zobacz Używanie tożsamości zarządzanej w zdarzeniach klienta.

Konfigurowanie programu obsługi zdarzeń

Konfigurowanie za pośrednictwem witryny Azure Portal

Możesz dodać procedurę obsługi zdarzeń do nowego centrum lub edytować istniejące centrum.

Aby skonfigurować program obsługi zdarzeń w nowym centrum:

  1. Przejdź do strony usługi Azure Web PubSub w witrynie Azure Portal.

  2. W menu wybierz pozycję Ustawienia.

  3. Wybierz pozycję Dodaj , aby utworzyć centrum i skonfigurować adres URL elementu webhook po stronie serwera. Uwaga: Aby dodać program obsługi zdarzeń do istniejącego centrum, wybierz centrum i wybierz pozycję Edytuj.

    Screenshot of setting the event handler.

  4. Wprowadź nazwę centrum.

  5. Wybierz pozycję Dodaj w obszarze Konfiguruj nawet programy obsługi.

  6. Na stronie obsługi zdarzeń skonfiguruj następujące pola: 1. Wprowadź adres URL elementu webhook serwera w polu Szablon adresu URL. 1. Wybierz zdarzenia systemowe, do których chcesz zasubskrybować. 1. Wybierz zdarzenia użytkownika, do których chcesz zasubskrybować. 1. Wybierz metodę uwierzytelniania , aby uwierzytelnić żądania nadrzędne. 1. Wybierz pozycję Potwierdź. Screenshot of Azure Web PubSub Configure Event Handler.

  7. Wybierz pozycję Zapisz w górnej części strony Konfigurowanie centrum Ustawienia.

    Screenshot of Azure Web PubSub Configure Hub Settings.

Konfigurowanie za pomocą interfejsu wiersza polecenia platformy Azure

Użyj poleceń az webpubsub hub group interfejsu wiersza polecenia platformy Azure, aby skonfigurować ustawienia programu obsługi zdarzeń.

Polecenia opis
create Utwórz ustawienia centrum dla usługi WebPubSub.
delete Usuń ustawienia centrum dla usługi WebPubSub.
list Wyświetl listę wszystkich ustawień centrum dla usługi WebPubSub.
show Pokaż ustawienia centrum dla usługi WebPubSub.
update Zaktualizuj ustawienia centrum dla usługi WebPubSub.

Oto przykład tworzenia dwóch adresów URL elementu webhook dla centrum MyHubMyWebPubSub zasobu:

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"

Następne kroki

Użyj tych zasobów, aby rozpocząć tworzenie własnej aplikacji: