Amazon web services 有没有理由在MessageBody中使用json字符串而不是单个属性?

Amazon web services 有没有理由在MessageBody中使用json字符串而不是单个属性?,amazon-web-services,amazon-sqs,Amazon Web Services,Amazon Sqs,我认为使用消息属性是最好的选择。我们只使用4个属性,担心最终会达到10个属性的限制 除了10个属性限制之外,使用MessageBody而不是单个属性有什么好处吗 我相信MessageBody没有限制,除了256KB的总消息大小限制,这是一个巨大的限制。同样,单个属性也有相同的限制 更好的问题是何时使用一个属性而不是另一个?SQS消息属性的目的是将它们设计为用作消息元数据(如消息类别或消息类型),而不是消息本身 E.x.如果您的应用程序同时支持JSON和XML有效负载类型,那么您可以将有效负载类型

我认为使用消息属性是最好的选择。我们只使用4个属性,担心最终会达到10个属性的限制

除了10个属性限制之外,使用MessageBody而不是单个属性有什么好处吗

我相信
MessageBody
没有限制,除了256KB的总消息大小限制,这是一个巨大的限制。同样,单个属性也有相同的限制


更好的问题是何时使用一个属性而不是另一个?

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

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

理想情况下,实际的消息负载应该在SQS消息体中给出

下面的段落是一段摘录自

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