Início Rápido: publicar mensagens usando o SDK do serviço Azure Web PubSub
Artigo
O Azure Web PubSub ajuda você a gerenciar clientes WebSocket. Este início rápido mostra como publicar mensagens para clientes WebSocket usando o SDK do serviço Azure Web PubSub.
Pré-requisitos
Uma assinatura do Azure. Se você não tiver uma, crie uma conta gratuita.
um shell de comando Bash e PowerShell. As amostras de Python, JavaScript e Java exigem um shell de comando Bash.
Para entrar no Azure usando a CLIl, execute o comando a seguir e siga os prompts para concluir o processo de autenticação. Se você estiver usando Cloud Shell, não será necessário entrar.
az login
Verifique se você está executando a versão mais recente da CLI com o comando de atualização.
az upgrade
Em seguida, instale ou atualize a extensão do Azure Web PubSub para a CLI se ela não foi instalada com az upgrade.
az extension add --name webpubsub --upgrade
1. Criar um grupo de recursos
Defina as variáveis de ambiente a seguir. Substitua o <espaço reservado> por um nome do Web PubSub exclusivo.
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. Conectar um cliente à instância de serviço
Crie um cliente do Web PubSub. O cliente mantém uma conexão com o serviço até que ele seja encerrado.
Use o comando az webpubsub client para iniciar uma conexão de cliente WebSocket ao serviço. Os clientes sempre se conectam a um hub. Portanto, forneça um nome de hub para o cliente se conectar.
A conexão ao serviço Web PubSub é estabelecida quando você vir uma mensagem JSON, indicando que o cliente agora está conectado com êxito e foi atribuído com um connectionId exclusivo:
Você usará o SDK do Azure Web PubSub para publicar uma mensagem para todos os clientes conectados ao hub.
É possível escolher entre C#, JavaScript, Python e Java. As dependências de cada linguagem são instaladas nas etapas para essa linguagem. Python, JavaScript e Java exigem um shell bash para executar os comandos neste início rápido.
Configurar o projeto para publicar mensagens
Abra um novo shell de comando para este projeto.
Salve a cadeia de conexão do shell do cliente. Substitua o espaço reservado <your_connection_string> pela cadeia de conexão exibida em uma etapa anterior.
Adicione um novo projeto nomeado como publisher e adicione o pacote do SDK Azure.Messaging.WebPubSub.
mkdir publisher
cd publisher
dotnet new console
dotnet add package Azure.Messaging.WebPubSub
Atualize o arquivo Program.cs para usar a classe WebPubSubServiceClient e enviar mensagens aos clientes. Substitua o código no arquivo Program.cs pelo código a seguir.
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);
}
}
}
A chamada service.SendToAllAsync() simplesmente envia uma mensagem a todos os clientes conectados no hub.
Execute o comando a seguir para publicar uma mensagem no serviço.
dotnet run $connection_string "myHub1" "Hello World"
O shell de comando anterior que contém o cliente Web PubSub mostra a mensagem recebida.
Vá para o diretório /src/main/java/com/webpubsub/quickstart.
Substitua o conteúdo no arquivo App.java pelo código a seguir:
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 o SDK do Azure Web PubSub para publicar uma mensagem no serviço. A chamada service.sendToAll() envia uma mensagem a todos os clientes conectados em um hub.
Retorne ao o diretório webpubsub-quickstart-publisher que contém o arquivo pom.xml e compile o projeto usando o comando mvn a seguir.
mvn compile
Crie o pacote.
mvn package
Execute o comando mvn a seguir para executar o aplicativo para publicar uma mensagem no serviço:
Este guia de início rápido fornece uma ideia básica de como se conectar ao serviço Web PubSub e como publicar mensagens nos clientes conectados.
Em aplicativos do mundo real, você pode usar SDKs em várias linguagens para criar seu próprio aplicativo. Também fornecemos extensões de Função para você criar aplicativos sem servidor com facilidade.
Use estes recursos para começar a criar seu aplicativo: