By default, boto encodes messages with Base64 before the messages are sent to SQS. Example code:
conn = boto.connect_sqs('access_key_id', 'secret_key')
q = conn.get_queue('myqueue')
m = Message()
m.set_body('hello!')
q.write(m)
By replacing Message() with RawMessage(), I can send raw messages to the queue without encoding. But how do I read messages from the queue without decoding? If I use the following code:
rs = q.get_messages(1)
if rs:
m = rs[0]
print m.get_body()
m.get_body() automatically returns the decoded result. Is there a way to retrieve raw messages?
Thanks!