用途:使用 Azure Event Hubs SDK for Java 构建实时流式应用,实现事件流处理与高吞吐数据摄取。
安装:以 Maven 依赖引入,group 为 com.azure,artifactId 为 azure-messaging-eventhubs,示例版本为 5.19.0。
主要能力:
- 客户端创建:可用连接字符串(connectionString)创建 EventHubProducerClient(可在连接字符串中带 EntityPath)与 EventHubConsumerClient;也可用 DefaultAzureCredentialBuilder 的 DefaultAzureCredential,配合 fullyQualifiedNamespace 与 eventHubName 创建。
- 异步客户端:buildAsyncProducerClient、buildAsyncConsumerClient 创建 EventHubProducerAsyncClient 与 EventHubConsumerAsyncClient。
- 发送:单条发送使用 EventData 与 producer.send;批量发送用 createBatch 生成 EventDataBatch,tryAdd 返回 false 表示批次已满,可发送后新建批次继续添加,最后发送剩余事件。
- 分区控制:CreateBatchOptions 可 setPartitionId 指定分区,或 setPartitionKey 按分区键路由。
- 事件属性:通过 event.getProperties() 添加自定义键值,如 orderId、customerId、priority。
- 接收:consumer.receiveFromPartition 传入 partitionId、maxEvents、EventPosition.earliest() 与超时时间,可读取 body、sequenceNumber、offset。
- 生产级处理:使用 EventProcessorClient 与 BlobCheckpointStore 等做检查点管理。
适用场景:事件流实时处理、高吞吐数据摄取、按分区有序消费、需要异步或生产级消费端管理的 Java 应用。
限制:资料仅提供部分代码片段,完整实现细节、认证配置要求、配额、计费、平台与版本兼容性暂未提供。