如何使用 Azure.Messaging.ServiceBus 库添加自定义属性?
Posted
技术标签:
【中文标题】如何使用 Azure.Messaging.ServiceBus 库添加自定义属性?【英文标题】:How do I add a custom property using the Azure.Messaging.ServiceBus library? 【发布时间】:2021-04-28 17:54:06 【问题描述】:最新的 sdk (Azure.Messaging.ServiceBus 7.0.1) 似乎没有向消息添加自定义(用户)属性的选项(即:用于过滤主题订阅)。现在有没有人知道如何做到这一点? SendMessageAsync
【问题讨论】:
【参考方案1】:替换为ServiceBusMessage.ApplicationProperties:
在 v7 中,消息上的 userProperties 和标签被重命名为 applicationProperties 并且主题与 AMQP 规范同步。作为新 SDK 的一部分,我们跨语言实现了这一点。
我们意识到我们应该在沟通方面做得更好 在我们的迁移指南中,该指南链接自软件包的自述文件 在 npm 和 github 以及我们的变更日志中。我们会这样做 马上。
https://github.com/Azure/azure-sdk-for-js/issues/12861#issuecomment-743406738
【讨论】:
【参考方案2】:补充@David 的回答。 这个属性是只读的,因此你不能简单地写:
message.ApplicationProperties = new Dictionary<string, object>();
为了在此字典中添加您的自定义属性,请使用:
ServiceBusMessage message = new ServiceBusMessage(content);
message.ApplicationProperties.Add("yourKey", "yourValue");
有关主题过滤的更多详细信息,请参阅this 官方 GitHub 文档。
【讨论】:
以上是关于如何使用 Azure.Messaging.ServiceBus 库添加自定义属性?的主要内容,如果未能解决你的问题,请参考以下文章
如何在自动布局中使用约束标识符以及如何使用标识符更改约束? [迅速]
如何使用 AngularJS 的 ng-model 创建一个数组以及如何使用 jquery 提交?