Azure Service Bus死信队列消息ApplicationProperties为空(已澄清无bug)
库名称及版本
Azure.Messaging.ServiceBus 7.10.0
问题描述
尝试通过两种方式修改死信消息的元数据:
- 调用方法
DeadLetterMessageAsync(ServiceBusReceivedMessage message, IDictionary<string, object> propertiesToModify = default, CancellationToken cancellationToken = default),传入自定义属性字典后,Azure门户中能看到死信消息的自定义属性正确显示,但从死信队列接收ServiceBusReceivedMessage并检查applicationProperties字段时,该字典中无任何键值对。 - 调用方法
DeadLetterMessageAsync(ServiceBusReceivedMessage message, string deadLetterReason, string deadLetterErrorDescription = default, CancellationToken cancellationToken = default),修改错误描述后将消息死信,但接收消息时无法获取deadLetterErrorDescription。查看库源码发现该字段从ApplicationProperties提取,但此字段为空。
预期行为
上述两种场景中,接收消息的applicationProperties应与Azure门户显示一致,填充自定义属性。
实际行为
ServiceBusReceivedMessage中的ApplicationProperties字段为空。
重现步骤
- 将带错误描述的消息发送到死信队列
- 从死信队列接收消息,尝试读取
applicationProperties中的键
编辑说明:此为误报,所有版本均无bug。
内容的提问来源于stack exchange,提问作者re1nth
相关产品推荐
相关产品推荐

