Aracılığıyla paylaş


Azure Web PubSub hizmetinde olay işleyicisi

Olay işleyicisi gelen istemci olaylarını işler. Olay işleyicileri Azure portalı veya Azure CLI aracılığıyla hizmete kaydedilir ve yapılandırılır. bir istemci olayı tetiklendiğinde, hizmet olayı uygun olay işleyicisine gönderebilir. Web PubSub hizmeti artık olay işleyicisini sunucu tarafı olarak desteklemektedir ve bu da olay tetiklendiğinde hizmetin çağrılmak üzere genel olarak erişilebilen uç noktasını kullanıma sunar. Başka bir deyişle, bir web kancası işlevi görür.

Web PubSub hizmeti CloudEvents HTTP protokolunu kullanarak istemci olaylarını yukarı akış web kancasına teslim eder.

Her olay için hizmet, kayıtlı yukarı akış uç noktasına bir HTTP POST isteği formüle eder ve bir HTTP yanıtı bekler.

Hizmetten sunucuya gönderen veriler her zaman CloudEvents binary biçimindedir.

Screenshot of Web PubSub service event trigger.

Yukarı akış ve Doğrulama

Web kancası uç noktasını yapılandırdığınızda, URL bir URL şablonu tanımlamak için parametresini içerebilir {event} . Hizmet, istemci isteği geldiğinde web kancası URL'sinin değerini dinamik olarak hesaplar. Örneğin, bir istek /client/hubs/chat geldiğinde, hub chatiçin yapılandırılmış bir olay işleyici URL'si deseni http://host.com/api/{event} ile istemci bağlandığında, ilk olarak şu URL'ye POST olur: http://host.com/api/connect. {event} PubSub WebSocket istemcisi özel olaylar gönderdiğinde, olay işleyicisinin farklı yukarı akış uç noktalarına farklı olaylar göndermeye yardımcı olması parametresi yararlı olabilir. {event} URL etki alanı adında parametresine izin verilmez.

Azure portalı veya CLI aracılığıyla olay işleyici web kancasını ayarlarken hizmet, yukarı akış web kancasını doğrulamak için CloudEvents Kötüye Kullanım Koruması'nı izler. Her kayıtlı yukarı akış web kancası URL'si bu mekanizma tarafından doğrulanır. WebHook-Request-Origin İstek üst bilgisi hizmet etki alanı adına xxx.webpubsub.azure.comayarlanır ve yanıtın WebHook-Allowed-Origin bu etki alanı adını veya *içermesini bekler.

Doğrulama {event} yapılırken parametresi olarak validateçözümlenir. Örneğin, URL'yi http://host.com/api/{event}olarak ayarlamaya çalışırken, hizmet bir isteği OLAN SEÇENEKLER'ihttp://host.com/api/validatedener. Yalnızca yanıt geçerli olduğunda yapılandırma başarıyla ayarlanabilir.

Şimdilik WebHook-Request-Rate ve WebHook-Request-Callback'i desteklemiyoruz.

Hizmet ve web kancası arasında kimlik doğrulaması

Hizmet ve web kancası arasında kimlik doğrulaması yapmak için bu yöntemlerden herhangi birini kullanabilirsiniz.

  • Anonim mod
  • ile ?code=<code> basit kimlik doğrulaması, yapılandırılan Web kancası URL'si aracılığıyla sorgu parametresi olarak sağlanır.
  • Microsoft Entra yetkilendirmesi. Daha fazla bilgi için bkz . İstemci olaylarında yönetilen kimlik kullanma.

Olay işleyicisini yapılandırma

Azure portalı aracılığıyla yapılandırma

Yeni bir hub'a olay işleyicisi ekleyebilir veya var olan bir hub'ı düzenleyebilirsiniz.

Yeni bir hub'da olay işleyicisi yapılandırmak için:

  1. Azure portalında Azure Web PubSub hizmeti sayfanıza gidin.

  2. Menüden Ayarlar'ı seçin.

  3. Ekle'yi seçerek bir hub oluşturun ve sunucu tarafı web kancası URL'nizi yapılandırın. Not: Var olan bir hub'a olay işleyicisi eklemek için hub'ı ve ardından Düzenle'yi seçin.

    Screenshot of setting the event handler.

  4. Hub adınızı girin.

  5. Çift İşleyicileri Yapılandır'ın altında Ekle'yi seçin.

  6. Olay işleyicisi sayfasında aşağıdaki alanları yapılandırın: 1. URL Şablonu alanına sunucu web kancası URL'sini girin. 1. Abone olmak istediğiniz Sistem olaylarını seçin. 1. Abone olmak istediğiniz Kullanıcı olayları'nı seçin. 1. Yukarı akış isteklerinin kimliğini doğrulamak için Kimlik doğrulama yöntemi'ne tıklayın. 1. Onayla'yı seçin. Screenshot of Azure Web PubSub Configure Event Handler.

  7. Hub'ı Yapılandır Ayarlar sayfasının üst kısmındaki Kaydet'i seçin.

    Screenshot of Azure Web PubSub Configure Hub Settings.

Azure CLI aracılığıyla yapılandırma

Olay işleyicisi ayarlarını yapılandırmak için Azure CLI az webpubsub hub group komutlarını kullanın.

Komutlar Tanım
create WebPubSub Hizmeti için hub ayarları oluşturun.
delete WebPubSub Hizmeti için hub ayarlarını silin.
list WebPubSub Hizmeti için tüm hub ayarlarını listeleyin.
show WebPubSub Hizmeti için hub ayarlarını gösterin.
update WebPubSub Hizmeti için hub ayarlarını güncelleştirin.

Kaynak hub'ı MyHub için iki web kancası URL'sini oluşturma örneği aşağıda verilmişti MyWebPubSub :

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"

Sonraki adımlar

Kendi uygulamanızı oluşturmaya başlamak için şu kaynakları kullanın: