По умолчанию boto кодирует сообщения с Base64 перед отправкой сообщений в SQS. Пример кода:Чтение необработанных сообщений из SQS Amazon с использованием boto
conn = boto.connect_sqs('access_key_id', 'secret_key')
q = conn.get_queue('myqueue')
m = Message()
m.set_body('hello!')
q.write(m)
Заменив сообщение() с RawMessage(), я могу послать необработанные сообщения в очереди без кодирования. Но как читать сообщения из очереди без декодирования? Если я использую следующий код:
rs = q.get_messages(1)
if rs:
m = rs[0]
print m.get_body()
m.get_body() автоматически возвращает декодированный результат. Есть ли способ получить необработанные сообщения?
Спасибо!
Спасибо, это работает! Я использую его для отладки, потому что вы не можете просматривать закодированное сообщение в консоли AWS SQS. – eliang
Поздний ответ здесь, но для других - кодирование сообщений может занять прочное 20% -30% от вашего пространства сообщений. Если вам нужна дополнительная свобода для больших сообщений, это может помочь не кодирование. –