Azure 服务总线消息:Body v headers

Azure Service bus message: Body v headers

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

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

所以消息 body 的 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.UserProperties.Add("FbcId", fbcId);
message.UserProperties.Add("FileId", fileId);
message.UserProperties.Add("DateLastImported", dateLastImported);

body 通常是某种序列化的负载。属性(或 headers)是关于负载的元数据。重要的是要记住,可以过滤通过 topics/subscriptions 的消息。过滤可以 在 properties/headers(用户和系统属性)上执行。如果数据需要反序列化,将它放在有效载荷中会更容易(消息 body)。同时,有效负载中的任何内容都可用于通过将所需值提升到属性中来帮助进行消息过滤。