簡體   English   中英

Amazon SQS消息正文與消息屬性的對比

[英]Purpose of Amazon SQS message's body as against message's attributes

當您已經能夠添加消息屬性時,在SQS中使用消息體的目的是什么?

讓我們舉一個例子,我們想在新用戶注冊時將消息推送到new-user隊列,我想這條消息將有一個屬性userId ,我在這里看不到body的使用。

消息屬性應該用作消息元數據(如時間戳或可能是某些類別)而不是消息本身。

理想情況下,消息有效負載應在消息體中給出

因此,例如,如果您支持JSON和XML有效負載,那么您可以將有效內容類型作為消息屬性,然后在獲取消息時,根據此有效內容類型屬性,您可以在JSON消息處理器或XML消息處理器之間進行決策。 這只是解釋屬性和正文使用的一個表面的例子

以下是AWS Doc的摘錄

Amazon SQS提供對郵件屬性的支持。 消息屬性允許您提供有關消息的結構化元數據項(例如時間戳,地理空間數據,簽名和標識符)。 消息屬性是可選的,與消息體分開,但與消息體一起發送。 消息的接收者可以使用該信息來幫助決定如何處理消息而無需首先處理消息體。 每條消息最多可包含10個屬性。 要指定消息屬性,您可以使用AWS管理控制台,AWS軟件開發工具包(SDK)或查詢API。

使用傳統的隊列提供程序(如rabbitMQKafka world)進行rabbitMQ

我們可以理解如下:

message_body=message_payload
message_attributes=message_headers ( can be used to apply different routing and filtering message using their headers information)

事實上,我更喜歡payloadheaders這個詞比aws sqs中使用的術語更多,它的abit令人困惑。

消息屬性聽起來更像是消息有效負載的屬性

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM