Azure服务总线消息:正文v标头

问题描述

我一直在阅读文档并在线查看示例,但没有发现任何确定的内容。我想知道如果您要发送服务总线消息,而只是序列化并发送少量字段,例如,最佳实践是什么? 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.UserProperties.Add("FbcId",fbcId);
message.UserProperties.Add("FileId",fileId);
message.UserProperties.Add("DateLastImported",dateLastImported);

解决方法

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