Início Rápido: Publicar mensagens com o SDK do serviço PubSub web do Azure
Artigo
O Azure Web PubSub ajuda-o a gerir clientes WebSocket. Este início rápido mostra-lhe como publicar mensagens em clientes WebSocket com o SDK do serviço Azure Web PubSub.
Pré-requisitos
Uma subscrição do Azure, se não tiver uma, crie uma conta gratuita.
uma shell de comandos do Bash e do PowerShell. Os exemplos de Python, JavaScript e Java requerem uma shell de comandos do Bash.
Para iniciar sessão no Azure a partir da CLI, execute o seguinte comando e siga as instruções para concluir o processo de autenticação. Se estiver a utilizar Cloud Shell, não é necessário iniciar sessão.
az login
Certifique-se de que está a executar a versão mais recente da CLI através do comando de atualização.
az upgrade
Em seguida, instale ou atualize a extensão Azure Web PubSub para a CLI se não tiver sido instalada com az upgrade.
az extension add --name webpubsub --upgrade
1. Criar um grupo de recursos
Defina as seguintes variáveis de ambiente. Substitua o <marcador> de posição por um nome pubSub Web 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. Ligar um cliente à instância de serviço
Criar um cliente Web PubSub. O cliente mantém uma ligação ao serviço até que seja terminado.
Utilize o az webpubsub client comando para iniciar uma ligação de cliente WebSocket ao serviço. Os clientes ligam-se sempre a um hub, pelo que fornecem um nome de hub ao qual o cliente se vai ligar.
A ligação ao serviço Web PubSub é estabelecida quando vê uma mensagem JSON a indicar que o cliente está agora ligado com êxito e é-lhe atribuído um exclusivo connectionId:
Irá utilizar o SDK do Azure Web PubSub para publicar uma mensagem a todos os clientes ligados ao hub.
Pode escolher entre C#, JavaScript, Python e Java. As dependências de cada idioma são instaladas nos passos para esse idioma. Python, JavaScript e Java necessitam de uma shell de bash para executar os comandos neste início rápido.
Configurar o projeto para publicar mensagens
Abra uma nova shell de comandos para este projeto.
Guarde a cadeia de ligação da shell do cliente. Substitua o <your_connection_string> marcador de posição pela cadeia de ligação que apresentou num passo anterior.
Adicione um novo projeto com o nome publisher e o pacote Azure.Messaging.WebPubSubSDK .
mkdir publisher
cd publisher
dotnet new console
dotnet add package Azure.Messaging.WebPubSub
Atualize o Program.cs ficheiro para utilizar a WebPubSubServiceClient classe para enviar mensagens aos clientes. Substitua o código no Program.cs ficheiro pelo seguinte código.
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 service.SendToAllAsync() chamada envia simplesmente uma mensagem para todos os clientes ligados no hub.
Execute o seguinte comando para publicar uma mensagem no serviço.
dotnet run $connection_string "myHub1" "Hello World"
A shell de comandos anterior que contém o cliente Web PubSub mostra a mensagem recebida.
Utilize o Maven para criar uma nova aplicação de consola com o nome webpubsub-quickstart-publisher e aceda ao diretório webpubsub-quickstart-publisher :
Aceda ao diretório src/main/java/com/webpubsub/quickstart .
Substitua o conteúdo no ficheiro App.java pelo seguinte código:
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 utiliza o SDK do Azure Web PubSub para publicar uma mensagem no serviço. A service.sendToAll() chamada envia uma mensagem a todos os clientes ligados num hub.
Regresse ao diretório webpubsub-quickstart-publisher que contém o ficheiro pom.xml e compile o projeto com o seguinte mvn comando.
mvn compile
Crie o pacote.
mvn package
Execute o seguinte mvn comando para executar a aplicação para publicar uma mensagem no serviço:
Este início rápido fornece-lhe uma ideia básica de como ligar ao serviço Web PubSub e como publicar mensagens nos clientes ligados.
Em aplicações do mundo real, pode utilizar SDKs em vários idiomas para criar a sua própria aplicação. Também fornecemos extensões de função para criar facilmente aplicações sem servidor.
Utilize estes recursos para começar a criar a sua própria aplicação: