如何使用ServiceBusMessage设置Azure Service Bus Topic自定义属性并通过ServiceBusSender发送
ServiceBusMessage 自定义属性设置方法
在使用Azure.Messaging.ServiceBus库构造消息时,用户自定义属性需要添加到ServiceBusMessage的ApplicationProperties字典中,这些属性会随消息一起发送到Service Bus Topic,可直接用于订阅筛选器的规则匹配。
操作流程
- 实例化
ServiceBusMessage对象,可传入字节、字符串等类型的消息体 - 向
ApplicationProperties字典中添加你需要的自定义键值对,支持字符串、整数、布尔、浮点数等基础类型作为值 - 直接用
ServiceBusSender的原有发送逻辑发送消息即可,无需额外配置,自定义属性会自动同步到服务端
代码示例
using Azure.Messaging.ServiceBus; // 构造消息实例 var serviceBusMessage = new ServiceBusMessage("这里是消息正文内容"); // 添加自定义属性,可添加任意数量 serviceBusMessage.ApplicationProperties.Add("department", "marketing"); serviceBusMessage.ApplicationProperties.Add("eventLevel", 2); serviceBusMessage.ApplicationProperties.Add("needAudit", false); // 发送消息(ServiceBusSender的初始化逻辑和原有发送逻辑保持不变即可) await serviceBusSender.SendMessageAsync(serviceBusMessage);
注意事项:自定义属性的键名不能包含
\、/、?、#、空格等特殊字符,值尽量使用基础类型,不要传入序列化后的复杂对象,否则Topic筛选器无法正常识别匹配。
内容的提问来源于stack exchange,提问作者user3885927
相关产品推荐
相关产品推荐

