用途:这是 Azure Event Hubs 的 Rust 客户端库,Event Hubs 是 Azure 的大数据流式平台与事件摄取服务。该库用于向事件中心发送事件、从分区接收事件,实现流式数据摄取。
核心概念:Namespace 是 Event Hub 的容器;Event Hub 是按分区划分、可并行处理的事件流;Partition 是有序的事件序列;Producer 发送事件;Consumer 接收分区事件。
安装:cargo add azure_messaging_eventhubs azure_identity 环境变量:EVENTHUBS_HOST=<namespace>.servicebus.windows.net,EVENTHUB_NAME=<eventhub-name>。
主要能力:使用 ProducerClient 创建生产者并调用 send_event 发送单条事件,或 create_batch 创建批次后用 try_add_event_data 添加数据并 send_batch 发送。使用 ConsumerClient 可 open_partition_receiver 打开指定分区接收器,用 receive_events 接收事件并读取 body();还可获取事件中心属性(partition_ids)与分区属性(last_enqueued_sequence_number)。
使用方式与最佳实践:客户端应创建一次后复用;优先使用批量发送;try_add_event_data 在批次已满时返回 false,需检查容量;各分区可独立并行消费;使用消费者组隔离不同消费应用;分布式消费者需处理检查点,可选安装 azure_messaging_eventhubs_checkpointstore_blob。
适用场景:需要以 Rust 接入 Azure Event Hubs 进行事件发送、流式摄取与分区消费的应用。
限制与参考:资料未提供价格、配额与平台细节。API 参考见 https://docs.rs/azure_messaging_eventhubs ,源码见 https://github.com/Azure/azure-sdk-for-rust/tree/main/sdk/eventhubs/azure_messaging_eventhubs ,crates.io 见 https://crates.io/crates/azure_messaging_eventhubs 。