有什么理由在MessageBody中使用json字符串而不是单个属性?

时间:2018-06-20 15:47:30

标签: amazon-web-services amazon-sqs

我认为使用消息属性是一种方法。我们仅使用4个属性,并担心最终会达到10个属性限制。

使用MessageBody代替10个属性限制以外的单个属性是否有好处?

我相信MessageBody没有限制,但总邮件大小限制为256 KB,这是巨大的。同样,单个属性也具有相同的限制。

一个更好的问题是何时在另一个上使用?

1 个答案:

答案 0 :(得分:1)

SQS消息属性的目的是将它们设计为用作消息元数据(例如的消息类别或消息类型),而不是消息本身。

E.x。如果您的应用程序同时支持JSON和XML有效负载类型,则可以将有效负载类型作为message属性之一,并且在获取消息时,根据有效负载类型属性,您可以选择是否要使用XML消息处理器。使用或JSON处理器。这只是一个解释身体和属性用法的肤浅例子

理想情况下,实际消息有效负载应在SQS消息主体中给出。

以下para是AWS Doc的摘录

  

Amazon SQS允许您使用消息属性在消息中包含结构化元数据(例如时间戳,地理空间数据,签名和标识符)。每个消息最多可以具有10个属性。消息属性是可选的,并且与消息正文分开(但是,它们与消息正文一起发送)。您的使用者可以使用消息属性以特定方式处理消息,而不必先处理消息正文。