Explorando o Azure Web PubSub: Revolucionando a Comunicação em Tempo Real

Cláudio Rapôso
4 min readJan 16, 2024

Se prepare que lá vem história! No mundão da internet de hoje, a rapidez é que nem lampião na escuridão, iluminando tudo. E o Azure Web PubSub, sabe, é aquele cangaceiro da tecnologia, enfrentando o desafio de tornar a conversa na web rápida como um raio. Aqui, ó, vou contar tuuudo sobre ele, num estilo bem pé no chão, igualzinho a um bom causo nordestino.

1. Para Quê Serve Essa Danado?

O Azure Web PubSub é como um sanfoneiro numa festa junina, indispensável para fazer a festança acontecer. Ele serve para um monte de coisa, ó só:

  • Para atualizar jogos e enquetes mais rápido do que dança de forró.
  • Para monitorar negócios e vendas que nem vigia em noite de lua cheia.
  • Para bate-papo ao vivo, sabendo das novidades que nem vizinho fofoqueiro.
  • Para saber onde tá tudo no mapa, que nem estrela guia.
  • Para mandar mensagens e avisos, que nem galo canta ao amanhecer.
  • Para trabalhos em equipe, juntando todo mundo que nem família grande.
  • E muito mais, até parece promessa de político em época de eleição!
https://learn.microsoft.com/pt-br/azure/azure-web-pubsub/media/concept-disaster-recovery/after-recover.png

2. As Vantagens Desse Serviço

Esse Azure Web PubSub é mais vantajoso que comprar fiado na bodega:

  • Primeiro, ele aguenta uma multidão de conexões, que nem forró em véspera de São João.
  • Depois, fala várias línguas de programação, que nem repentista que improvisa em verso e prosa.
  • E ainda por cima, ele tem um jeito especial de mandar e receber mensagens, igual carta de amor.

3. Como Mexer Nessa Engenhoca?

Criando Coisa Sem Servidor

É como fazer doce sem fogo, só juntar o Azure Functions e pronto, uma belezura!

Fazendo Assinatura e Publicação

É só usar o tal do WebSocket, mais fácil que aprender a dançar xaxado.

Gerenciando a Conexão

Usa os SDKs que o serviço dá, que nem ferramenta boa para consertar rede.

Mandando Mensagem pelo Servidor

Usa a tal da API REST, que nem mandar recado pelo rádio da comunidade.

4. O Passo a Passo com Código, Pra Não Ter Dúvida

Criando o Bicho

Para começar, chama o Azure com um encanto, tipo assim:

az webpubsub create --resource-group myResourceGroup --name <your-unique-resource-name> --location EastUS --sku Free_F1

Pegando a Chave do Mistério

Para conseguir falar com o serviço, faz assim, ó:

az webpubsub key show --resource-group myResourceGroup --name <your-unique-resource-name> --query primaryConnectionString --output tsv

Dona Zefa ouvido tinindo (Subscriber)

É como fazer uma armadilha para pegar tatu, só seguir os passos:

mkdir zefa
cd zefa
npm init -y
npm install ws @azure/web-pubsub

E põe a mão na massa com um código tipo este:

const WebSocket = require('ws');
const { WebPubSubServiceClient } = require('@azure/web-pubsub');

async function main() {
const hub = "pubsub";
let service = new WebPubSubServiceClient(process.env.WebPubSubConnectionString, hub);
let token = await service.getClientAccessToken();
let ws = new WebSocket(token.url);
ws.on('open', () => console.log('Pronto para por a mensagem em dia'));
ws.on('message', data => console.log('Dona maria me falou que: %s', data));
}

main();

Dona Maria faladeira (Publisher)

Para bota o assunto em dia se faz assim:

mkdir maria
cd maria
npm init -y
npm install @azure/web-pubsub

E a fofoca vai assim:

const { WebPubSubServiceClient } = require('@azure/web-pubsub');

const hub = "pubsub";
const service = new WebPubSubServiceClient(process.env.WebPubSubConnectionString, hub);

service.sendToAll(process.argv[2], { contentType: "text/plain" });

Botando para Funcionar

Então as duas se junta para falar é que nem acender a fogueira e esperar o foguete e pernoitar falando da vida alheia:

export WebPubSubConnectionString=<Web-PubSub-connection-string>
node zefa.js
export WebPubSubConnectionString=<Web-PubSub-connection-string>
node maria "Menina tu não sabe"

Conclusão

Pronto, cabô o causo! O Azure Web PubSub é como um canto de passarinho ao amanhecer, trazendo novidade e alegria para todo lado. Use essa ferramenta com sabedoria, que nem cangaço no sertão, e você vai ver sua aplicação brilhar mais que São João. E lembre-se, guarde suas chaves a sete chaves, que nem segredo de família, e quando acabar a festança, limpe tudo para não ficar devendo na venda. Agora, vá lá e faça esse trem funcionar!

Links

--

--

Cláudio Rapôso

Microsoft MVP | Software Architect | Teacher | React | React Native | Node | Autor do Livro NestJS: Do Zero até a primeira API | MCT | 12x Msft | 2x AWS