SuperAPI AI 工具集

azure-eventhub-py

编程与开发

查看项目

更新于 10-16 06:22

技能介绍

用途:Azure Event Hubs 是基于 Python 的高吞吐量大数据流式平台 SDK,用于事件摄取、生产、消费与检查点管理。触发场景包括“event hubs”等。

安装:pip install azure-eventhub azure-identity;若需配合 Blob 存储做检查点,安装 pip install azure-eventhub-checkpointstoreblob-aio。

环境变量:EVENT_HUB_FULLY_QUALIFIED_NAMESPACE、EVENT_HUB_NAME 为所有认证方式所必需;STORAGE_ACCOUNT_URL、CHECKPOINT_CONTAINER 用于检查点存储;AZURE_TOKEN_CREDENTIALS=prod 仅在生产使用 DefaultAzureCredential 时需要。

认证与生命周期:建议优先用 DefaultAzureCredential,本地(Azure CLI、VS Code、Developer CLI)与 Azure(托管标识、工作负载标识)均可无需改代码;避免连接字符串与账户/API 密钥。生产环境设置 AZURE_TOKEN_CREDENTIALS=prod 限定凭证链。所有客户端用上下文管理器:同步 with <Client>(...) as client:,异步 async with <Client>(...) as client:,异步凭证也需 async with。

主要能力:三类客户端——EventHubProducerClient 发送事件、EventHubConsumerClient 接收事件、BlobCheckpointStore 跟踪消费进度。发送可创建批量、按分区 ID 或分区键发送;接收用回调 on_event 处理并按分区上下文更新检查点。异步客户端位于 azure.eventhub.aio,凭证位于 azure.identity.aio。可读取事件属性 body_as_str、sequence_number、offset、enqueued_time、partition_key,并可获取 Event Hub 与分区属性。

最佳实践:同步与异步不要混用;发送多条事件用批量并捕获批量满的 ValueError;生产用检查点存储保证可靠处理;高吞吐用异步客户端;分区键保证分区内有序;不同应用使用合适消费组。

限制与补充:资料未提供收费、价格、平台支持等具体信息;具体参考文件包括 references/checkpointing.md、references/partitions.md 与 scripts/setup_consumer.py。