如何使用 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 提交?

如何使用laravel保存所有行数据每个行名或相等

如何使用 Math.Net 连接矩阵。如何使用 Math.Net 调用特定的行或列?

WSARecv 如何使用 lpOverlapped?如何手动发出事件信号?