Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Neste artigo, você migra um aplicativo de chat Socket.IO para o Azure usando o Web PubSub para Socket.IO.
Importante
As cadeias de conexão brutas aparecem neste artigo somente para fins de demonstração.
Uma cadeia de conexão inclui as informações de autorização necessárias para que o seu aplicativo acesse o serviço Azure Web PubSub. A chave de acesso dentro da cadeia de conexão é semelhante a uma senha raiz para o serviço. Em ambientes de produção, sempre proteja suas chaves de acesso. Use o Azure Key Vault para gerenciar e girar suas chaves com segurança e proteger sua conexão com WebPubSubServiceClient.
Evite distribuir chaves de acesso para outros usuários, fazer hard-coding com elas ou salvá-las em qualquer lugar em texto sem formatação que seja acessível a outras pessoas. Gire suas chaves se você acredita que elas podem ter sido comprometidas.
Pré-requisitos
- Uma conta do Azure com uma assinatura ativa. Se você não tiver uma, poderá criar uma conta gratuita.
- Alguma familiaridade com a biblioteca de Socket.IO.
Criar um recurso Web PubSub no Socket.IO
Acesse o portal do Azure.
Pesquise socket.io na barra de pesquisa e selecione Web PubSub para Socket.IO.
Selecione um plano e selecione Criar.
Migrar o aplicativo
Para o processo de migração neste guia, você usa um aplicativo de chat de exemplo fornecido no site do Socket.IO. Você precisa fazer algumas pequenas alterações no código do lado do servidor e do lado do cliente para concluir a migração.
Lado do Servidor
Localize
index.jsno código do lado do servidor.Adicione o pacote
@azure/web-pubsub-socket.io:npm install @azure/web-pubsub-socket.ioImportar o pacote:
const { useAzureSocketIO } = require("@azure/web-pubsub-socket.io");Localize em seu código do lado do servidor em que você criou o servidor Socket.IO e acrescente useAzureSocketIO(...):
As cadeias de conexão brutas aparecem neste artigo somente para fins de demonstração. Em ambientes de produção, sempre proteja suas chaves de acesso. Use o Azure Key Vault para gerenciar e girar suas chaves com segurança e proteger sua conexão com
WebPubSubServiceClient.const io = require("socket.io")(); useAzureSocketIO(io, { hub: "eio_hub", // The hub name can be any valid string. connectionString: process.argv[2] });Importante
O método
useAzureSocketIOé assíncrono e executa etapas de inicialização para se conectar ao Web PubSub. Você poderá usarawait useAzureSocketIO(...)ou usaruseAzureSocketIO(...).then(...)para garantir que o servidor de aplicativos comece a atender solicitações depois que a inicialização for bem-sucedida.Se você usar as seguintes APIs de servidor, adicione
asyncantes de usá-las, pois elas são assíncronas com o Web PubSub para Socket.IO:Por exemplo, se houver um código como este:
io.on("connection", (socket) => { socket.join("room abc"); });Atualize-o para:
io.on("connection", async (socket) => { await socket.join("room abc"); });Este exemplo de chat não usa nenhuma dessas APIs. Você não precisa fazer nenhuma alteração.
Lado do cliente
Localize o ponto de extremidade para o recurso no portal do Azure.
Acesse o
./public/main.jsno código do lado do cliente.Localize onde o cliente Socket.IO é criado. Substitua seu ponto de extremidade pelo ponto de extremidade Socket.IO no Azure e adicione uma opção
path:const socket = io("<web-pubsub-for-socketio-endpoint>", { path: "/clients/socketio/hubs/eio_hub", });