Inicio rápido: Publicación de mensajes mediante el SDK del servicio Azure Web PubSub
Artículo
Azure Web PubSub le ayuda a administrar clientes de WebSocket. En este inicio rápido, se muestra cómo publicar mensajes en los clientes de WebSocket mediante el SDK del servicio Azure Web PubSub.
Requisitos previos
Una suscripción de Azure; si no tiene una, cree una cuenta gratuita.
Un shell de comandos de Bash y PowerShell. Los ejemplos de Python, Javascript y Java requieren un shell de comandos Bash.
Para iniciar sesión en Azure desde la CLI, ejecute el siguiente comando y siga las indicaciones para completar el proceso de autenticación. Si usa Cloud Shell, no es necesario iniciar sesión.
az login
Asegúrese de que ejecuta la versión más reciente de la CLI con el comando de actualización.
az upgrade
A continuación, instale o actualice la extensión Azure Web PubSub para la CLI si no se instaló con az upgrade.
az extension add --name webpubsub --upgrade
1. Creación de un grupo de recursos
Establezca las siguientes variables de entorno. Reemplace el <marcador de posición> por un nombre único de Web PubSub.
az webpubsub key show --name $WEB_PUBSUB_NAME --resource-group $RESOURCE_GROUP --query primaryConnectionString
az webpubsub key show --name $WebPubSubName --resource-group $ResourceGroupName --query primaryConnectionString
3. Conexión de un cliente a la instancia del servicio
Cree un cliente Web PubSub. El cliente mantiene una conexión al servicio hasta que finaliza.
Use el comando az webpubsub client para iniciar una conexión del cliente de WebSocket al servicio. Los clientes siempre se conectan a un centro, por lo que debe proporcionar el nombre del centro al que se va a conectar el cliente.
La conexión con el servicio Web PubSub se establece cuando aparece un mensaje JSON que indica que el cliente se ha conectado correctamente, y se le asigna un connectionId único:
4. Publicación de mensajes mediante el SDK del servicio
Usará el SDK de Azure Web PubSub para publicar un mensaje en todos los clientes conectados al centro.
Puede elegir entre C#, JavaScript, Python y Java. Las dependencias de cada lenguaje se instalan en los pasos para ese idioma. Python, JavaScript y Java requieren un shell de Bash para ejecutar los comandos en este inicio rápido.
Configuración del proyecto para publicar mensajes
Abra un nuevo shell de comandos para este proyecto.
Guarde la cadena de conexión desde el shell de cliente. Reemplace el marcador de posición <your_connection_string> por la cadena de conexión que ha mostrado en un paso anterior.
Agregue un nuevo proyecto llamado publisher y el paquete del SDK Azure.Messaging.WebPubSub.
mkdir publisher
cd publisher
dotnet new console
dotnet add package Azure.Messaging.WebPubSub
Actualice el archivo Program.cs para que use la clase WebPubSubServiceClient para enviar mensajes a los clientes. Reemplace el código del archivo Program.cs por el código siguiente.
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);
}
}
}
La llamada service.SendToAllAsync() simplemente envía un mensaje a todos los clientes conectados en el centro.
Ejecute el siguiente comando para publicar un mensaje en el servicio.
dotnet run $connection_string "myHub1" "Hello World"
El shell de comandos anterior que contiene el cliente de Web PubSub muestra el mensaje recibido.
Vaya al directorio src/main/java/com/webpubsub/quickstart.
Reemplace el contenido del archivo App.java por el código siguiente:
package com.webpubsub.quickstart;
import com.azure.messaging.webpubsub.*;
import com.azure.messaging.webpubsub.models.*;
/**
* Publish messages using Azure Web PubSub service SDK
*
*/
public class App
{
public static void main( String[] args )
{
if (args.length != 3) {
System.out.println("Expecting 3 arguments: <connection-string> <hub-name> <message>");
return;
}
WebPubSubServiceClient service = new WebPubSubServiceClientBuilder()
.connectionString(args[0])
.hub(args[1])
.buildClient();
service.sendToAll(args[2], WebPubSubContentType.TEXT_PLAIN);
}
}
Este código usa el SDK de Azure Web PubSub para publicar un mensaje en el servicio. La llamada service.sendToAll() envía un mensaje a todos los clientes conectados en un centro.
Navegue hasta el directorio webpubsub-quickstart-publisher que contiene el archivo pom.xml y compile el proyecto mediante el siguiente comando mvn.
mvn compile
Compilar el paquete.
mvn package
Ejecute el siguiente comando mvn para ejecutar la aplicación para publicar un mensaje en el servicio:
En este inicio rápido, se proporciona una idea básica de cómo conectarse al servicio Web PubSub y cómo publicar mensajes en los clientes conectados.
En las aplicaciones del mundo real, puede usar SDK en varios lenguajes para crear su propia aplicación. También proporcionamos extensiones de función para que pueda crear aplicaciones sin servidor fácilmente.
Use estos recursos para empezar a compilar su propia aplicación: