Skip to main content Inicio Creadores beko2210 firstbrain azure-eventhub-java
azure-eventhub-java Build real-time streaming applications with Azure Event Hubs SDK for Java. Use when implementing event streaming, high-throughput data ingestion, or building event-driven architectures.
Ir a la instalación Skills Marketplace Descubre y explora habilidades de IA creadas por la comunidad.
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Copiar promptMostrar detalles del prompt Un comando directo omite el prompt de revisión. Revisa el origen antes de ejecutarlo.
npx skills add https://github.com/BEKO2210/Firstbrain --skill azure-eventhub-javaEl comando permanece en una sola línea. Desplázate horizontalmente para revisarlo antes de copiarlo.
¿Prefieres una copia local? Descarga los archivos que SkillsMP tiene disponibles ahora.
Descargar Zip Descargando... Ocupaciones relacionadas SOC
Basado en la clasificación ocupacional SOC
name azure-eventhub-java description Build real-time streaming applications with Azure Event Hubs SDK for Java. Use when implementing event streaming, high-throughput data ingestion, or building event-driven architectures. type skill created 2026-02-27T00:00:00.000Z domain cloud-infrastructure category azure risk unknown source community tags ["skill","cloud-infrastructure","azure","eventhub"]
Azure Event Hubs SDK for Java
Build real-time streaming applications using the Azure Event Hubs SDK for Java.
Installation
<dependency >
<groupId > com.azure</groupId >
<artifactId > azure-messaging-eventhubs</artifactId >
<version > 5.19.0</version >
</dependency >
<dependency >
<groupId > com.azure</groupId >
<artifactId > azure-messaging-eventhubs-checkpointstore-blob</artifactId >
<version > 1.20.0</version >
</dependency >
Client Creation
EventHubProducerClient
import com.azure.messaging.eventhubs.EventHubProducerClient;
import com.azure.messaging.eventhubs.EventHubClientBuilder;
EventHubProducerClient producer = new EventHubClientBuilder ()
.connectionString("<connection-string>" , "<event-hub-name>" )
.buildProducerClient();
EventHubProducerClient producer = ()
.connectionString( )
.buildProducerClient();
new
EventHubClientBuilder
"<connection-string-with-entity-path>"
With DefaultAzureCredential import com.azure.identity.DefaultAzureCredentialBuilder;
EventHubProducerClient producer = new EventHubClientBuilder ()
.fullyQualifiedNamespace("<namespace>.servicebus.windows.net" )
.eventHubName("<event-hub-name>" )
.credential(new DefaultAzureCredentialBuilder ().build())
.buildProducerClient();
EventHubConsumerClient import com.azure.messaging.eventhubs.EventHubConsumerClient;
EventHubConsumerClient consumer = new EventHubClientBuilder ()
.connectionString("<connection-string>" , "<event-hub-name>" )
.consumerGroup(EventHubClientBuilder.DEFAULT_CONSUMER_GROUP_NAME)
.buildConsumerClient();
Async Clients import com.azure.messaging.eventhubs.EventHubProducerAsyncClient;
import com.azure.messaging.eventhubs.EventHubConsumerAsyncClient;
EventHubProducerAsyncClient asyncProducer = new EventHubClientBuilder ()
.connectionString("<connection-string>" , "<event-hub-name>" )
.buildAsyncProducerClient();
EventHubConsumerAsyncClient asyncConsumer = new EventHubClientBuilder ()
.connectionString("<connection-string>" , "<event-hub-name>" )
.consumerGroup("$Default" )
.buildAsyncConsumerClient();
Core Patterns
Send Single Event import com.azure.messaging.eventhubs.EventData;
EventData eventData = new EventData ("Hello, Event Hubs!" );
producer.send(Collections.singletonList(eventData));
Send Event Batch import com.azure.messaging.eventhubs.EventDataBatch;
import com.azure.messaging.eventhubs.models.CreateBatchOptions;
EventDataBatch batch = producer.createBatch();
for (int i = 0 ; i < 100 ; i++) {
EventData event = new EventData ("Event " + i);
if (!batch.tryAdd(event)) {
producer.send(batch);
batch = producer.createBatch();
batch.tryAdd(event);
}
}
if (batch.getCount() > 0 ) {
producer.send(batch);
}
Send to Specific Partition CreateBatchOptions options = new CreateBatchOptions ()
.setPartitionId("0" );
EventDataBatch batch = producer.createBatch(options);
batch.tryAdd(new EventData ("Partition 0 event" ));
producer.send(batch);
Send with Partition Key CreateBatchOptions options = new CreateBatchOptions ()
.setPartitionKey("customer-123" );
EventDataBatch batch = producer.createBatch(options);
batch.tryAdd(new EventData ("Customer event" ));
producer.send(batch);
Event with Properties EventData event = new EventData ("Order created" );
event.getProperties().put("orderId" , "ORD-123" );
event.getProperties().put("customerId" , "CUST-456" );
event.getProperties().put("priority" , 1 );
producer.send(Collections.singletonList(event));
Receive Events (Simple) import com.azure.messaging.eventhubs.models.EventPosition;
import com.azure.messaging.eventhubs.models.PartitionEvent;
Iterable<PartitionEvent> events = consumer.receiveFromPartition(
"0" ,
10 ,
EventPosition.earliest(),
Duration.ofSeconds(30 )
);
for (PartitionEvent partitionEvent : events) {
EventData event = partitionEvent.getData();
System.out.println("Body: " + event.getBodyAsString());
System.out.println("Sequence: " + event.getSequenceNumber());
System.out.println("Offset: " + event.getOffset());
}
EventProcessorClient (Production) import com.azure.messaging.eventhubs.EventProcessorClient;
import com.azure.messaging.eventhubs.EventProcessorClientBuilder;
import com.azure.messaging.eventhubs.checkpointstore.blob.BlobCheckpointStore;
import com.azure.storage.blob.BlobContainerAsyncClient;
import com.azure.storage.blob.BlobContainerClientBuilder;
BlobContainerAsyncClient blobClient = new BlobContainerClientBuilder ()
.connectionString("<storage-connection-string>" )
.containerName("checkpoints" )
.buildAsyncClient();
EventProcessorClient processor = new EventProcessorClientBuilder ()
.connectionString("<eventhub-connection-string>" , "<event-hub-name>" )
.consumerGroup("$Default" )
.checkpointStore(new BlobCheckpointStore (blobClient))
.processEvent(eventContext -> {
EventData event = eventContext.getEventData();
System.out.println("Processing: " + event.getBodyAsString());
eventContext.updateCheckpoint();
})
.processError(errorContext -> {
System.err.println("Error: " + errorContext.getThrowable().getMessage());
System.err.println("Partition: " + errorContext.getPartitionContext().getPartitionId());
})
.buildEventProcessorClient();
processor.start();
Thread.sleep(Duration.ofMinutes(5 ).toMillis());
processor.stop();
Batch Processing EventProcessorClient processor = new EventProcessorClientBuilder ()
.connectionString("<connection-string>" , "<event-hub-name>" )
.consumerGroup("$Default" )
.checkpointStore(new BlobCheckpointStore (blobClient))
.processEventBatch(eventBatchContext -> {
List<EventData> events = eventBatchContext.getEvents();
System.out.printf("Received %d events%n" , events.size());
for (EventData event : events) {
System.out.println(event.getBodyAsString());
}
eventBatchContext.updateCheckpoint();
}, 50 )
.processError(errorContext -> {
System.err.println("Error: " + errorContext.getThrowable());
})
.buildEventProcessorClient();
Async Receiving asyncConsumer.receiveFromPartition("0" , EventPosition.latest())
.subscribe(
partitionEvent -> {
EventData event = partitionEvent.getData();
System.out.println("Received: " + event.getBodyAsString());
},
error -> System.err.println("Error: " + error),
() -> System.out.println("Complete" )
);
Get Event Hub Properties
EventHubProperties hubProps = producer.getEventHubProperties();
System.out.println("Hub: " + hubProps.getName());
System.out.println("Partitions: " + hubProps.getPartitionIds());
PartitionProperties partitionProps = producer.getPartitionProperties("0" );
System.out.println("Begin sequence: " + partitionProps.getBeginningSequenceNumber());
System.out.println("Last sequence: " + partitionProps.getLastEnqueuedSequenceNumber());
System.out.println("Last offset: " + partitionProps.getLastEnqueuedOffset());
Event Positions
EventPosition.earliest()
EventPosition.latest()
EventPosition.fromOffset(12345L )
EventPosition.fromSequenceNumber(100L )
EventPosition.fromEnqueuedTime(Instant.now().minus(Duration.ofHours(1 )))
Error Handling import com.azure.messaging.eventhubs.models.ErrorContext;
.processError(errorContext -> {
Throwable error = errorContext.getThrowable();
String partitionId = errorContext.getPartitionContext().getPartitionId();
if (error instanceof AmqpException) {
AmqpException amqpError = (AmqpException) error;
if (amqpError.isTransient()) {
System.out.println("Transient error, will retry" );
}
}
System.err.printf("Error on partition %s: %s%n" , partitionId, error.getMessage());
})
Resource Cleanup
try {
producer.send(batch);
} finally {
producer.close();
}
try (EventHubProducerClient producer = new EventHubClientBuilder ()
.connectionString(connectionString, eventHubName)
.buildProducerClient()) {
producer.send(events);
}
Environment Variables EVENT_HUBS_CONNECTION_STRING=Endpoint=sb://<namespace>.servicebus.windows.net/;SharedAccessKeyName=...
EVENT_HUBS_NAME=<event-hub-name>
STORAGE_CONNECTION_STRING=<for-checkpointing>
Best Practices
Use EventProcessorClient : For production, provides load balancing and checkpointing
Batch Events : Use EventDataBatch for efficient sending
Partition Keys : Use for ordering guarantees within a partition
Checkpointing : Checkpoint after processing to avoid reprocessing
Error Handling : Handle transient errors with retries
Close Clients : Always close producer/consumer when done
Trigger Phrases
"Event Hubs Java"
"event streaming Azure"
"real-time data ingestion"
"EventProcessorClient"
"event hub producer consumer"
"partition processing"
When to Use This skill is applicable to execute the workflow or actions described in the overview.
Connections
Domain: [[Cloud & Infrastruktur]]
Kategorie: [[Microsoft Azure]]
Navigation: [[Skills Uebersicht]], [[Home]]