如何将Azure Service Bus Topic订阅的事件转发到Event Hub
实现方案:Azure Service Bus Topic 订阅自动转发至Event Hub
该需求可以直接通过Azure Service Bus原生的自动转发特性实现,无需额外部署自定义消费服务。
前置要求
- 源Service Bus的SKU需为标准或高级版,基础版不支持自动转发特性
- 配置使用的Azure账号需拥有源Service Bus Topic订阅的管理权限,以及目标Event Hub的消息发送权限
- 若两个服务配置了网络访问限制,需放开彼此的访问规则,允许Service Bus服务访问目标Event Hub
配置步骤
- 进入你已创建的Service Bus Topic订阅的详情配置页
- 在左侧导航栏的「设置」分类中找到「转发到」选项
- 转发目标类型选择事件中心(Event Hub)
- 若源Service Bus与目标Event Hub在同一Azure租户下,直接选择对应订阅、Event Hub命名空间和目标实例即可;若跨租户,选择使用SAS连接字符串配置,填入你方Event Hub的发送权限SAS连接字符串
- 按需勾选「转发时保留消息原始属性」选项,确保业务所需的元数据不丢失
- 保存配置即可,配置生效后所有投递到该订阅的事件会自动转发到指定Event Hub
注意事项
- 单条消息大小不能超过目标Event Hub的单条消息上限(标准层为1MB,高级层最大支持100MB),超大小的消息会自动进入该订阅的死信队列
- 若因目标Event Hub不可用等原因导致转发失败,消息同样会进入死信队列,可按需配置死信队列的兜底处理逻辑避免消息丢失
- 转发功能的可用性由Azure官方SLA保障,无需自行维护消费服务的可用性
- 你方预先配置的Event Hub Capture功能会在事件成功进入Event Hub后自动触发,按既定规则归档到存储账户,无需额外调整Capture配置
内容的提问来源于stack exchange,提问作者Suraj
相关产品推荐
相关产品推荐

