2016-08-15 118 views
1

我正在設置一個SQS隊列來獲取要由後端容器處理的配置數據塊。我的第一個想法是json.dumps字典與配置信息,並通過sqsclient.send_message()參數MessageBody傳遞它。然而,通過閱讀文檔後,我看到有一個MessageAttributes參數,似乎我可以相對容易地傳遞鍵值對(Docs for sqsclient.sendmessage()AWS Boto3 SQS MessageBody vs MessageAttributes

我很不確定這種差異,如果有任何好處使用一個在另一個之上。作爲參考,我正在一個EC2實例中的容器上運行的python腳本中插入隊列。

+0

我會從閱讀這裏的文檔開始:http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/SQSMessageAttributes.html具體說明是每個消息只能有10個消息屬性。 –

+0

@MarkB所以如果我理解正確,好處是數據類型驗證? – asdf

回答

2

所以,如果我理解正確,好處是數據類型驗證?

的好處是,所述元數據本質上是外的帶:可以附加元數據 - 信息有關的有效載荷 - 到一個SQS消息的「外部」,而無需修改(或者甚至必然理解)你將要在信息(身體)內「放置」的內容。

如果有問題的信息消息的一部分,則應該將其放入正文中。另一方面,如果該消息是,則可能需要將其作爲元數據附加。

對於您描述的情況,請在消息正文中使用JSON。