Démarrage rapide : Publier des messages en utilisant le Kit de développement logiciel (SDK) du service Azure Web PubSub
Azure Web PubSub vous aide à gérer les clients WebSocket. Ce guide de démarrage rapide vous montre comment publier des messages à des clients WebSocket à l’aide du Kit de développement logiciel (SDK) du service Azure Web PubSub.
Prérequis
- Si vous n’avez pas d’abonnement Azure, créez un compte gratuit.
- un interpréteur de commandes Bash et PowerShell. Les exemples Python, JavaScript et Java nécessitent un interpréteur de commandes Bash.
- Un éditeur de fichiers tel que VSCode.
- Azure CLI : installer Azure CLI
Si vous créez le projet sur un ordinateur local, vous devez installer les dépendances pour le langage que vous utilisez :
Installez à la fois le kit SDK .NET Core et aspnetcore
et le runtime .Net.
1. Configurer
Pour vous connecter à Azure à partir de l’interface CLI, exécutez la commande suivante et suivez les invites pour procéder à l’authentification. Si vous utilisez Cloud Shell, il n’est pas nécessaire de se connecter.
az login
Vérifiez que vous exécutez la dernière version de l’interface CLI à l’aide de la commande de mise à niveau.
az upgrade
Ensuite, installez ou mettez à jour l’extension Azure Web PubSub pour l’interface CLI, si elle n’a pas été installée avec az upgrade
.
az extension add --name webpubsub --upgrade
1. Créer un groupe de ressources
Définissez les variables d’environnement suivantes. Remplacez l’<espace réservé> par un nom Web PubSub unique.
RESOURCE_GROUP="webpubsub-resource-group"
LOCATION="EastUS"
WEB_PUBSUB_NAME="<your-unique-name>"
Créez un groupe de ressources pour le projet Web PubSub.
az group create \
--name $RESOURCE_GROUP \
--location $LOCATION
2. Déployer une instance de service Web PubSub
Utilisez la commande az webpubsub create
pour créer et déployer une instance de service Web PubSub.
az webpubsub create \
--name $WEB_PUBSUB_NAME \
--resource-group $RESOURCE_GROUP \
--location $LOCATION \
--sku Free_F1
Enregistrez la chaîne de connexion du service. La chaîne de connexion est utilisée par le Kit de développement logiciel (SDK) de service pour publier des messages.
Important
Dans un environnement de production, vous devez stocker en toute sécurité les chaînes de connexion à l’aide d’Azure Key Vault.
az webpubsub key show --name $WEB_PUBSUB_NAME --resource-group $RESOURCE_GROUP --query primaryConnectionString
3. Connecter un client à l’instance de service
Créez un client Web PubSub. Le client maintient une connexion au service jusqu’à son arrêt.
Utilisez la commande az webpubsub client
pour démarrer une connexion cliente WebSocket au service. Les clients se connectent toujours à un hub. Indiquez donc un nom de hub auquel le client doit se connecter.
az webpubsub client start \
--name $WEB_PUBSUB_NAME \
--resource-group $RESOURCE_GROUP \
--hub-name "myHub1" \
--user-id "user1"
La connexion au service Web PubSub est établie lorsque vous recevez un message JSON indiquant que le client est désormais connecté avec succès et qu’il est attribué avec un connectionId
unique :
{"type":"system","event":"connected","userId":"user1","connectionId":"<your_unique_connection_id>"}
4. Publier des messages à l’aide du Kit de développement logiciel (SDK) de service
Vous allez utiliser le Kit de développement logiciel (SDK) Azure Web PubSub pour publier un message à tous les clients connectés au hub. Vous pouvez choisir entre C#, JavaScript, Python et Java. Les dépendances de chaque langage sont installées dans les étapes de ce langage. Python, JavaScript et Java nécessitent un interpréteur de commandes Bash pour exécuter les commandes de ce démarrage rapide.
Configurer le projet pour publier des messages
Ouvrez un nouvel interpréteur de commandes pour ce projet.
Enregistrez la chaîne de connexion à partir de l’interpréteur de commandes client. Remplacez l’espace réservé
<your_connection_string>
par la chaîne de connexion que vous avez affichée à une étape précédente.connection_string="<your_connection_string>"
À présent, sélectionnez le langage de votre projet.
Ajoutez un nouveau projet appelé
publisher
et le package du Kit de développement logiciel (SDK)Azure.Messaging.WebPubSub
.mkdir publisher cd publisher dotnet new console dotnet add package Azure.Messaging.WebPubSub
Mettez à jour le fichier
Program.cs
de façon à utiliser la classeWebPubSubServiceClient
pour envoyer des messages aux clients. Remplacez le code du fichierProgram.cs
par le code suivant.using System; using System.Threading.Tasks; using Azure.Messaging.WebPubSub; namespace publisher { class Program { static async Task Main(string[] args) { if (args.Length != 3) { Console.WriteLine("Usage: publisher <connectionString> <hub> <message>"); return; } var connectionString = args[0]; var hub = args[1]; var message = args[2]; var service = new WebPubSubServiceClient(connectionString, hub); // Send messages to all the connected clients // You can also try SendToConnectionAsync to send messages to the specific connection await service.SendToAllAsync(message); } } }
L’appel
service.SendToAllAsync()
envoie simplement un message à tous les clients connectés dans le hub.Exécutez la commande suivante pour publier un message sur le service.
dotnet run $connection_string "myHub1" "Hello World"
L’interpréteur de commandes précédent contenant le client Web PubSub affiche le message reçu.
{"type":"message","from":"server","dataType":"text","data":"Hello World"}
Nettoyage
Vous pouvez supprimer les ressources que vous avez créées dans ce guide de démarrage rapide en supprimant le groupe de ressources qui les contient.
az group delete --name $RESOURCE_GROUP --yes