Azure 事件中心 Python SDK
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @org-02qudk26/azure-eventhub-py。
技能介绍
要解决什么问题
在 Azure 上把应用日志、遥测或业务事件以高吞吐、可分区的方式送进下游(流处理、存储、分析),你需要稳定的 Python 客户端用法,而不是临时拼连接字符串或混用同步/异步 API 导致连接泄漏与消费进度丢失。
技能如何组织内容
本技能围绕 Azure Event Hubs Python SDK 的典型工程路径展开:
- 鉴权与生命周期:优先
DefaultAzureCredential(本地 Azure CLI / VS Code 与云端托管标识同一套代码);生产环境用AZURE_TOKEN_CREDENTIALS限定凭据链;每个客户端用with/async with释放 HTTP 与令牌缓存。 - 客户端分工:
EventHubProducerClient发送、EventHubConsumerClient接收、BlobCheckpointStore在生产环境跟踪消费进度。 - 发送与接收:支持指定分区、事件批处理、事件属性;简单接收与 Blob 检查点 两种消费模式;高吞吐场景可走异步客户端。
- 最佳实践清单:同步/异步二选一并贯穿模块;批发送与批大小
ValueError处理;分区键保证分区内有序;按应用划分消费者组。
技能内还指向 references/checkpointing.md、references/partitions.md 以及 scripts/setup_consumer.py 等参考,用于检查点策略、分区与 CLI 调试。
适用边界与注意点
- 技能侧重 Python SDK 用法与运维习惯,不包含 Event Hub 资源创建、网络拓扑或 Stream Analytics 等全链路设计。
- 不要在同一调用链混用
azure.eventhub与azure.eventhub.aio;异步路径需对DefaultAzureCredential(azure.identity.aio)同样使用async with。 - 生产消费应依赖 checkpoint store;仅「简单接收」适合 PoC 或可控的一次性读取场景。
使用场景
- 微服务要把业务事件批量写入指定分区,并靠分区键保证同一实体事件顺序可读
- 生产环境消费者需用 Blob 检查点记录 offset,避免进程重启后重复处理或漏读
- 本地用 Azure CLI 登录开发,上线后同一套代码改用托管标识,不想维护连接字符串
- 吞吐上来后要把同步收发改成异步客户端,并统一模块内只用 aio 或只用同步 API
适合人员
- 负责把应用日志/遥测接到 Azure 流式管道的后端工程师,需要批发送与分区策略
- 维护 Event Hub 消费者组与检查点存储的平台工程师,要保证重启后可续读
- 正在从连接字符串/API 密钥迁移到 Entra 凭据链的安全或基础设施同事
- 编写 Python 数据接入服务的开发,要在 PoC 简单接收与生产检查点模式间选对路径