Compartilhar via


Biblioteca de clientes do serviço Azure Web PubSub para Java

O serviço Azure Web PubSub é um serviço gerenciado pelo Azure que ajuda os desenvolvedores a criar facilmente aplicativos Web com recursos em tempo real e um padrão de publicação-assinatura. Qualquer cenário que exija mensagens de publicação/assinatura em tempo real entre o servidor e os clientes ou entre clientes pode usar o serviço Azure Web PubSub. Os recursos tradicionais em tempo real que geralmente exigem sondagem do servidor ou envio de solicitações HTTP também podem usar o serviço Azure Web PubSub.

Este artigo descreve a biblioteca de cliente do serviço Azure Web PubSub.

Você pode usar essa biblioteca em seu aplicativo do lado do servidor para gerenciar as conexões de cliente WebSocket, conforme mostrado neste diagrama:

The overflow diagram shows the overflow of using the service client library.

Use essa biblioteca para:

  • Enviar mensagens para hubs e grupos.
  • Enviar mensagens para usuários e conexões específicos.
  • Organizar usuários e conexões em grupos.
  • Fechar conexões
  • Conceder, revogar e verificar permissões para uma conexão existente

Para saber mais, veja:

Introdução

Pré-requisitos

Incluir o Pacote

<dependency>
    <groupId>com.azure</groupId>
    <artifactId>azure-messaging-webpubsub</artifactId>
    <version>1.0.0</version>
</dependency>

Criar um WebPubSubServiceClient usando uma cadeia de conexão

WebPubSubServiceClient webPubSubServiceClient = new WebPubSubServiceClientBuilder()
    .connectionString("{connection-string}")
    .hub("chat")
    .buildClient();

Criar um WebPubSubServiceClient usando uma chave de acesso

WebPubSubServiceClient webPubSubServiceClient = new WebPubSubServiceClientBuilder()
    .credential(new AzureKeyCredential("{access-key}"))
    .endpoint("<Insert endpoint from Azure Portal>")
    .hub("chat")
    .buildClient();

Exemplos

Transmitir mensagem para o hub inteiro

webPubSubServiceClient.sendToAll("Hello world!", WebPubSubContentType.TEXT_PLAIN);

Transmitir mensagem para um grupo

webPubSubServiceClient.sendToGroup("java", "Hello Java!", WebPubSubContentType.TEXT_PLAIN);

Enviar uma mensagem para uma conexão

webPubSubServiceClient.sendToConnection("myconnectionid", "Hello connection!", WebPubSubContentType.TEXT_PLAIN);

Enviar mensagem para um usuário

webPubSubServiceClient.sendToUser("Andy", "Hello Andy!", WebPubSubContentType.TEXT_PLAIN);

Solução de problemas

Habilitar o log do cliente

Você pode definir a variável de ambiente AZURE_LOG_LEVEL para exibir instruções de log feitas na biblioteca de cliente. Por exemplo, a configuração AZURE_LOG_LEVEL=2 mostraria todas as mensagens informativas, de aviso e de log de erros. Os níveis de log podem ser encontrados aqui: níveis de log.

Cliente HTTP padrão

Todas as bibliotecas de cliente usam o cliente HTTP Netty por padrão. Adicionar a dependência acima configurará automaticamente a biblioteca de cliente para usar o cliente HTTP do Netty. Configurar ou alterar o cliente HTTP é descrito no wiki de clientes HTTP.

Biblioteca SSL padrão

Por padrão, todas as bibliotecas cliente usam a biblioteca SSL Boring nativa do Tomcat para habilitar o desempenho de nível nativo para operações SSL. A biblioteca SSL é um uber jar que contém bibliotecas nativas para Linux/macOS/Windows e fornece melhor desempenho em comparação com a implementação SSL padrão no JDK. Para obter mais informações, incluindo como reduzir o tamanho da dependência, consulte [ajuste de desempenho][https://github.com/Azure/azure-sdk-for-java/wiki/Performance-Tuning].

Use estes recursos para começar a criar seu aplicativo: