Inviare eventi a Hub eventi di Azure usando JavaSend events to Azure Event Hubs using Java

IntroduzioneIntroduction

Hub eventi è un sistema di inserimento a scalabilità elevata, in grado di inserire milioni di eventi al secondo, che permette a un'applicazione di elaborare e analizzare le elevate quantità di dati prodotti dalle applicazioni e dai dispositivi connessi.Event Hubs is a highly scalable ingestion system that can ingest millions of events per second, enabling an application to process and analyze the massive amounts of data produced by your connected devices and applications. Dopo la raccolta in un hub eventi, è possibile trasformare e archiviare i dati usando qualsiasi provider di analisi in tempo reale o un cluster di archiviazione.Once collected into an event hub, you can transform and store data using any real-time analytics provider or storage cluster.

Per altre informazioni, vedere Panoramica di Hub eventi.For more information, see the Event Hubs overview.

Questa esercitazione illustra come inviare eventi a un hub eventi usando un'applicazione console in Java.This tutorial shows how to send events to an event hub by using a console application in Java. Per ricevere eventi usando la libreria host del processore di eventi di Java, vedere questo articolo o fare clic sul linguaggio di ricezione appropriato nel sommario a sinistra.To receive events using the Java Event Processor Host library, see this article, or click the appropriate receiving language in the left-hand table of contents.

Per completare questa esercitazione, sono necessari gli elementi seguenti:In order to complete this tutorial, you will need the following:

  • Ambiente di sviluppo in Java.A Java development environment. Per questa esercitazione si presuppone l'uso di Eclipse.For this tutorial, we assume Eclipse.
  • Un account Azure attivo.An active Azure account.
    Se non si ha un account, è possibile creare un account gratuito in pochi minuti.If you don't have an account, you can create a free account in just a couple of minutes. Per informazioni dettagliate, vedere la pagina relativa alla versione di valutazione gratuita di Azure.For details, see Azure Free Trial.

Inviare messaggi all'hub eventiSend messages to Event Hubs

La libreria client Java per Hub eventi è disponibile per l'uso in progetti Maven dal repository centrale di Maven.The Java client library for Event Hubs is available for use in Maven projects from the Maven Central Repository. Per fare riferimento a questa libreria è possibile usare questa dichiarazione di dipendenza all'interno del file di progetto di Maven:You can reference this library using the following dependency declaration inside your Maven project file:

<dependency>
    <groupId>com.microsoft.azure</groupId>
    <artifactId>azure-eventhubs</artifactId>
    <version>{VERSION}</version>
</dependency>

Per diversi tipi di ambienti di compilazione è possibile ottenere in modo esplicito i file JAR rilasciati più recenti dal repository centrale di Maven.For different types of build environments, you can explicitly obtain the latest released JAR files from the Maven Central Repository.

Per un autore di eventi semplice, importare il pacchetto com.microsoft.azure.eventhubs per le classi di client di hub eventi e il pacchetto com.microsoft.azure.servicebus per le classi di utilità, ad esempio eccezioni comuni condivise con il client di messaggistica del bus di servizio di Azure.For a simple event publisher, import the com.microsoft.azure.eventhubs package for the Event Hubs client classes and the com.microsoft.azure.servicebus package for utility classes such as common exceptions that are shared with the Azure Service Bus messaging client.

Per l'esempio seguente, creare prima un nuovo progetto Maven per un'applicazione console/shell nell'ambiente di sviluppo Java preferito.For the following sample, first create a new Maven project for a console/shell application in your favorite Java development environment. Denominare la classe Send.Name the class Send.

import java.io.IOException;
import java.nio.charset.*;
import java.util.*;
import java.util.concurrent.ExecutionException;

import com.microsoft.azure.eventhubs.*;
import com.microsoft.azure.servicebus.*;

public class Send
{
    public static void main(String[] args) 
            throws ServiceBusException, ExecutionException, InterruptedException, IOException
    {

Sostituire lo spazio dei nomi e i nomi dell'hub eventi con i valori utilizzati durante la creazione dell'hub eventi.Replace the namespace and event hub names with the values used when you created the event hub.

    final String namespaceName = "----ServiceBusNamespaceName-----";
    final String eventHubName = "----EventHubName-----";
    final String sasKeyName = "-----SharedAccessSignatureKeyName-----";
    final String sasKey = "---SharedAccessSignatureKey----";
    ConnectionStringBuilder connStr = new ConnectionStringBuilder(namespaceName, eventHubName, sasKeyName, sasKey);

A questo punto, creare un evento singolare trasformando una stringa nel relativo corrispettivo con codifica UTF-8.Then, create a singular event by transforming a string into its UTF-8 byte encoding. Creare infine una nuova istanza del client di Hub eventi dalla stringa di connessione e inviare il messaggio.Then, create a new Event Hubs client instance from the connection string and send the message.


    byte[] payloadBytes = "Test AMQP message from JMS".getBytes("UTF-8");
    EventData sendEvent = new EventData(payloadBytes);

    EventHubClient ehClient = EventHubClient.createFromConnectionStringSync(connStr.toString());
    ehClient.sendSync(sendEvent);
    }
}

Passaggi successiviNext steps

Per ulteriori informazioni su Hub eventi visitare i collegamenti seguenti:You can learn more about Event Hubs by visiting the following links: