2016-08-16 56 views
0

如何在AWS SQS隊列中傳遞地圖對象?如何在AWS SQS中傳遞地圖

我有一個帶有一些數據的地圖對象,我想通過AWS SQS隊列中的相同地圖 來堅持。我怎樣才能做到這一點?

回答

0

我想你想存儲地圖,以便以後可以從SQS中消化它,因此我建議你將其序列化。您應該序列化您的數據,而不是僅僅將地圖發送到SQS並稍後嘗試將其解析爲地圖,因爲它更安全並且可能更容易。

JSONMSGpack是流行的序列化和反序列化。

下面是一些僞代碼:

some_map = {name: 'tom', age: 31} 
serialized_map = make_into_json_function(some_map) 
sqs.send_msg(queue, credentials, serialized_map) 

要打開JSON回地圖:

message = sqs.get_msg(some_msg_id) 
new_map = make_json_into_map_function(message.text) 
print new_map 
0

這裏是我做(和它的工作100%):

試圖發送地圖值作爲SQS中的屬性:使用setMessageAttributes,但是由於在SQS中,您可以一次發送最多10個屬性,因此它不適合我的要求(我的地圖中有超過10個值)。

SQS提供了一個使用messageBody發送消息的選項,所以我將我的地圖轉換爲純Json字符串併發送給SQS。

謝謝!