Gestionnaire d’événements dans le service Azure Web PubSub
Le gestionnaire d’événements gère les événements clients entrants. Les gestionnaires d’événements sont inscrits et configurés dans le service via le Portail Azure ou Azure CLI. Lorsqu’un événement client est déclenché, le service peut envoyer l’événement au gestionnaire d’événements approprié. Le service Web PubSub prend désormais en charge le gestionnaire d’événements en tant que côté serveur, qui expose le point de terminaison accessible publiquement au service à appeler lorsque l’événement est déclenché. En d’autres termes, il agit comme un webhook.
Le service Web PubSub fournit des événements clients au webhook amont à l’aide du protocole HTTP CloudEvents.
Pour chaque événement, le service formule une requête HTTP POST au point de terminaison de amont inscrit et attend une réponse HTTP.
L’envoi des données du service au serveur est toujours au format binary
CloudEvents.
Serveur en amont et validation
Lorsque vous configurez le point de terminaison webhook, l’URL peut inclure le {event}
paramètre pour définir un modèle d’URL. Le service calcule de manière dynamique la valeur de l’URL du webhook lorsque la demande du client arrive. Par exemple, lorsqu’une demande /client/hubs/chat
arrive, avec un modèle d'URL de gestionnaire d’événements configuré http://host.com/api/{event}
pour le hub chat
, lorsque le client se connecte, il publie d’abord vers cette URL : http://host.com/api/connect
. Le {event}
paramètre peut être utile lorsqu’un client WebSocket PubSub envoie des événements personnalisés, que le gestionnaire d’événements permet de distribuer différents événements à différents points de terminaison amont. Le paramètre {event}
n’est pas autorisé dans le nom de domaine d’URL.
Lors de la configuration du webhook du gestionnaire d’événements via Portail Azure ou l’interface CLI, le service suit cloudEvents Abuse Protection pour valider le webhook amont. Chaque URL inscrite de webhook en amont sera validée par ce mécanisme. L’en-tête de demande WebHook-Request-Origin
est défini sur le nom de domaine de service xxx.webpubsub.azure.com
et il s’attend à ce que la réponse ayant l’en-tête WebHook-Allowed-Origin
contienne ce nom de domaine ou *
.
Lors de la validation, le paramètre {event}
est résolu en validate
. Par exemple, en essayant de définir l’URL sur http://host.com/api/{event}
, le service essaiera de CHOISIR une requête sur http://host.com/api/validate
. Et ce n’est que lorsque la réponse est valide que la configuration peut être définie correctement.
À l’heure actuelle, WebHook-Request-Rate et WebHook-Request-Callback ne sont pas pris en charge.
Authentification entre le service et le webhook
Vous pouvez utiliser l’une de ces méthodes pour vous authentifier entre le service et le webhook.
- Mode anonyme
- L’authentification simple avec est
?code=<code>
fournie via l’URL de Webhook configurée en tant que paramètre de requête. - Autorisation Microsoft Entra. Pour plus d’informations, consultez Utiliser une identité managée dans les événements client.
Configurer un gestionnaire d’événements
Configurer via Portail Azure
Vous pouvez ajouter un gestionnaire d’événements à un nouveau hub ou modifier un hub existant.
Pour configurer un gestionnaire d’événements dans un nouveau hub :
Accédez à votre page de service Azure Web PubSub dans le Portail Azure.
Sélectionnez Paramètres dans le menu.
Sélectionnez Ajouter pour créer un hub et configurer votre URL de webhook côté serveur. Remarque : Pour ajouter un gestionnaire d’événements à un hub existant, sélectionnez le hub et sélectionnez Modifier.
Entrez le nom de votre hub.
Sélectionnez Ajouter sous Configurer des gestionnaires pairs.
Dans la page du gestionnaire d’événements, configurez les champs suivants : 1. Entrez l’URL du webhook du serveur dans le champ Modèle d’URL. 1. Sélectionnez les événements système auxquels vous souhaitez vous abonner. 1. Sélectionnez les événements utilisateur auxquels vous souhaitez vous abonner. 1. Sélectionnez la méthode d’authentification pour authentifier amont demandes. 1. Cliquez sur Confirmer.
Sélectionnez Enregistrer en haut de la page Configurer le hub Paramètres.
Configurer via Azure CLI
Utilisez les commandes de groupe az webpubsub hub d’Azure CLI pour configurer les paramètres du gestionnaire d’événements.
Commandes | Description |
---|---|
create |
Crée les paramètres de hub pour le service WebPubSub. |
delete |
Supprime les paramètres de hub pour le service WebPubSub. |
list |
Répertorie tous les paramètres de hub pour le service WebPubSub. |
show |
Affiche les paramètres de hub pour le service WebPubSub. |
update |
Met à jour les paramètres de hub pour le service WebPubSub. |
Voici un exemple de création de deux URL de webhook pour le hub MyHub
de MyWebPubSub
ressources :
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"
Étapes suivantes
Utilisez ces ressources pour commencer à créer votre propre application :