Azure 服务总线消息 : Body v headers

标签 azure message-queue message azureservicebus

我一直在阅读文档并查看在线示例,但没有找到任何明确的内容。我想知道如果您想发送服务总线消息但仅序列化和发送少量字段,例如,最佳实践是什么。 3.

我有以下 Json 要在消息中发送,但想知道是否最好不将它们添加为用户属性。

所以消息体的Json是这样的:

{
    "FbcId": 1845,
    "FileId": "1d78d6ae-4005-48ac-9561-2533bf351d62",
    "DateLastImported": "2020-10-18T20:25:59.5370965+01:00"
}

我是否也可以构建这样的消息?

var message = new Message
{
    Label = "Fbc Import"
};

message.ApplicationProperties.Add("FbcId", fbcId);
message.ApplicationProperties.Add("FileId", fileId);
message.ApplicationProperties.Add("DateLastImported", dateLastImported);

最佳答案

主体通常是某种序列化的有效负载。属性(或 header )是有关有效负载的元数据。重要的是要记住,通过主题/订阅的消息可以被过滤。并且过滤只能对属性/ header (用户属性和系统属性)执行。如果数据需要反序列化,将其放在有效负载(消息正文)中会更容易。同时,有效负载中的任何内容都可以通过将所需的值提升到属性中来帮助消息过滤。

关于Azure 服务总线消息 : Body v headers,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64431242/

相关文章:

c# - 如何在ServiceBus上通过sequenceNumber使用MessageReceiver.Receive方法

azure - 从 Windows Azure Blob 存储播放音频文件时出错

java - 如何在 Java 中为 javascript 小部件记录印象(和数据)?

C: 无法打开消息队列

javascript - 窗口消息事件有时触发不止一次

azure - 处理 Azure 逻辑应用操作输出

azure - 使用 Azure SDK v1.8 创建的 Blob 是页 Blob 还是 block Blob?

RabbitMQ 支持 LIFO 或基于时间的优先级队列

响应消息的 WCF charset=utf-8 与绑定(bind)的内容类型不匹配 (application/soap+xml; charset=utf-8)

jsp - 将通知消息设置为应在 sendRedirect 后显示的请求属性