2016-08-16 11 views
0

AWS SQSキューでマップオブジェクトを渡すにはどうすればよいですか?AWS SQSでマップを渡す方法

私はいくつかのデータを持つマップオブジェクトを持っており、それを維持するために同じマップ をAWS SQSキューに渡したかったのです。どうすれば同じことができますか?

答えて

0

マップを保存して、後でSQSからダイジェストできるようにしたいと思うので、シリアル化することをお勧めします。 SQSにマップを送信するだけでなく、マップを後でマップに戻して解析するのではなく、データをシリアル化する必要があります。これは安全性が高く、容易になるためです。

JSONおよびMSGpackは、シリアライズおよびデシリアライズで一般的です。

ここにいくつかの擬似コードです:

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%働いている):

setMessageAttributesを使用してマップの値をSQSの属性として送信しようとしましたが、SQSでは一度に最大10個の属性を送信できるため、私の要件に合致しませんでした(マップに10以上の値がありました)。

SQSはmessageBodyを使用してメッセージを送信するオプションも提供しています。そのため、マップをプレーンなJson文字列に変換してSQSに送信しました。

ありがとうございます!

関連する問題