デフォルトでは、botoはメッセージがSQSに送信される前にBase64でメッセージをエンコードします。コード例:
conn = boto.connect_sqs('access_key_id', 'secret_key')
q = conn.get_queue('myqueue')
m = Message()
m.set_body('hello!')
q.write(m)
Message()をRawMessage()に置き換えることで、エンコードせずに生のメッセージをキューに送信できます。しかし、デコードせずにキューからメッセージを読み取るにはどうすればよいですか?次のコードを使用する場合:
rs = q.get_messages(1)
if rs:
m = rs[0]
print m.get_body()
m.get_body()は、デコードされた結果を自動的に返します。生のメッセージを取得する方法はありますか?
ありがとう!