Condividi tramite


Libreria client del servizio Web PubSub di Azure per Java

Il servizio Web PubSub di Azure è un servizio gestito da Azure che consente agli sviluppatori di creare facilmente applicazioni Web con funzionalità in tempo reale e un modello di pubblicazione-sottoscrizione. Qualsiasi scenario che richiede la messaggistica di pubblicazione-sottoscrizione in tempo reale tra server e client o tra i client può usare il servizio Web PubSub di Azure. Le funzionalità tradizionali in tempo reale che spesso richiedono il polling dal server o l'invio di richieste HTTP possono usare anche il servizio PubSub Web di Azure.

Questo articolo descrive la libreria client del servizio Web PubSub di Azure.

È possibile usare questa libreria nell'app sul lato server per gestire le connessioni client WebSocket, come illustrato in questo diagramma:

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

Usare questa libreria per:

  • Inviare messaggi a hub e gruppi.
  • Inviare messaggi a utenti e connessioni specifici.
  • Organizzare utenti e connessioni in gruppi.
  • Chiudere le connessioni
  • Concedere, revocare e controllare le autorizzazioni per una connessione esistente

Per altre informazioni, vedere:

Introduzione

Prerequisiti

Includere il pacchetto

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

Creare un WebPubSubServiceClient oggetto usando stringa di connessione

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

Creare un oggetto usando la WebPubSubServiceClient chiave di accesso

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

Esempi

Trasmettere un messaggio all'intero hub

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

Trasmettere un messaggio a un gruppo

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

Inviare il messaggio a una connessione

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

Inviare un messaggio a un utente

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

Risoluzione dei problemi

Abilitare la registrazione client

È possibile impostare la AZURE_LOG_LEVEL variabile di ambiente per visualizzare le istruzioni di registrazione effettuate nella libreria client. Ad esempio, l'impostazione AZURE_LOG_LEVEL=2 visualizza tutti i messaggi informativi, di avviso e di log degli errori. I livelli di log sono disponibili qui: livelli di log.

Client HTTP predefinito

Per impostazione predefinita, tutte le librerie client usano il client HTTP Netty. L'aggiunta della dipendenza precedente configurerà automaticamente la libreria client per l'uso del client HTTP Netty. La configurazione o la modifica del client HTTP è descritta nel wiki dei client HTTP.

Libreria SSL predefinita

Per impostazione predefinita, tutte le librerie client usano la libreria SSL Boring nativa tomcat per abilitare le prestazioni a livello nativo per le operazioni SSL. La libreria SSL boring è un file uber jar contenente librerie native per Linux/macOS/Windows e offre prestazioni migliori rispetto all'implementazione SSL predefinita all'interno di JDK. Per altre informazioni, tra cui come ridurre le dimensioni delle dipendenze, vedere [ottimizzazione delle prestazioni][https://github.com/Azure/azure-sdk-for-java/wiki/Performance-Tuning].

Usare queste risorse per iniziare a creare un'applicazione personalizzata: