如何使用 Azure.Messaging.ServiceBus 库添加自定义属性?

sha*_*rpc 12 c# azure azureservicebus

最新的sdk (Azure.Messaging.ServiceBus 7.0.1)似乎没有选项将自定义(用户)属性添加到消息(即:用于过滤主题子)。现在有人知道如何做到这一点吗?异步发送消息

小智 17

添加到@David的答案。该属性是只读的,因此您不能简单地编写:

message.ApplicationProperties = new Dictionary<string, object>();
Run Code Online (Sandbox Code Playgroud)

为了在此字典中添加自定义属性,请使用:

ServiceBusMessage message = new ServiceBusMessage(content);
message.ApplicationProperties.Add("yourKey", "yourValue");
Run Code Online (Sandbox Code Playgroud)

有关主题过滤的更多详细信息,请参阅此官方 GitHub 文档。


Dav*_*oft 15

它被ServiceBusMessage.ApplicationProperties取代:

在 v7 中,消息上的 userProperties 和标签已重命名为 applicationProperties,并与 AMQP 规范保持同步。作为新 SDK 的一部分,我们跨语言实现了这一点。

我们意识到,我们应该在迁移指南中更好地传达这一点,该指南从 npm 和 github 中的包的自述文件以及我们的变更日志链接。我们将立即这样做。

https://github.com/Azure/azure-sdk-for-js/issues/12861#issuecomment-743406738