Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
O Azure Web PubSub ajuda você a gerenciar clientes WebSocket. Este guia de início rápido mostra como publicar mensagens em 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. Os exemplos de Python, JavaScript e Java requerem um shell de comando Bash.
- Um editor de arquivos, como o VS Code.
- CLI do Azure: instalar a CLI do Azure
Se estiver criando o projeto em uma máquina local, você precisará instalar as dependências para o idioma que está usando:
Instale o SDK do .NET Core e o aspnetcore tempo de execução e dotnet.
1. Configuração
Para entrar no Azure a partir da CLI, execute o seguinte comando e siga os prompts para concluir o processo de autenticação. Se você estiver usando o Cloud Shell, não é necessário fazer login.
az login
Verifique se você está executando a versão mais recente da CLI por meio do comando upgrade.
az upgrade
Em seguida, instale ou atualize a extensão Azure Web PubSub para a CLI, caso ela não tenha sido instalada com az upgradeo .
az extension add --name webpubsub --upgrade
1. Criar um grupo de recursos
Defina as seguintes variáveis de ambiente. Substitua o espaço reservado <> por um nome exclusivo do Web PubSub.
RESOURCE_GROUP="webpubsub-resource-group"
LOCATION="EastUS"
WEB_PUBSUB_NAME="<your-unique-name>"
Crie um grupo de recursos para o projeto Web PubSub.
az group create \
--name $RESOURCE_GROUP \
--location $LOCATION
2. Implantar uma instância de serviço Web PubSub
Use o az webpubsub create comando para criar e implantar uma instância de serviço Web PubSub.
az webpubsub create \
--name $WEB_PUBSUB_NAME \
--resource-group $RESOURCE_GROUP \
--location $LOCATION \
--sku Free_F1
Salve a cadeia de conexão do serviço. A cadeia de conexão é usada pelo SDK do serviço para publicar mensagens.
Importante
Em um ambiente de produção, você deve armazenar cadeias de conexão com segurança usando o Cofre de Chaves do Azure.
az webpubsub key show --name $WEB_PUBSUB_NAME --resource-group $RESOURCE_GROUP --query primaryConnectionString
3. Conectar um cliente à instância de serviço
Crie um cliente Web PubSub. O cliente mantém uma conexão com o serviço até que ele seja encerrado.
Use o az webpubsub client comando para iniciar uma conexão de cliente WebSocket com o serviço. Os clientes sempre se conectam a um hub, portanto, forneça um nome de hub para o cliente se conectar.
az webpubsub client start \
--name $WEB_PUBSUB_NAME \
--resource-group $RESOURCE_GROUP \
--hub-name "myHub1" \
--user-id "user1"
A conexão com o serviço Web PubSub é estabelecida quando você vê uma mensagem JSON indicando que o cliente agora está conectado com êxito e é atribuído um exclusivo connectionId:
{"type":"system","event":"connected","userId":"user1","connectionId":"<your_unique_connection_id>"}
4. Publicar mensagens usando o SDK do serviço
Você usará o SDK do Azure Web PubSub para publicar uma mensagem para todos os clientes conectados ao hub. Você pode escolher entre C#, JavaScript, Python e Java. As dependências para cada idioma são instaladas nas etapas para esse idioma. Python, JavaScript e Java requerem 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.connection_string="<your_connection_string>"Agora, selecione o idioma para o seu projeto.
Adicione um novo projeto chamado
publishere o pacoteAzure.Messaging.WebPubSubSDK .mkdir publisher cd publisher dotnet new console dotnet add package Azure.Messaging.WebPubSubAtualize o
Program.csarquivo para usar aWebPubSubServiceClientclasse para enviar mensagens aos clientes. Substitua o código noProgram.csarquivo com o 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
service.SendToAllAsync()chamada simplesmente envia uma mensagem para todos os clientes conectados no hub.Execute o seguinte comando 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.
{"type":"message","from":"server","dataType":"text","data":"Hello World"}
Limpeza
Você pode excluir os recursos criados neste início rápido excluindo o grupo de recursos que os contém.
az group delete --name $RESOURCE_GROUP --yes