В соответствии с SQS docs возможно отправлять сообщения до 256 Кбайт данных. Я настроил свою очередь на 256 Кбайт данных, но когда я отправляю сообщение с помощью boto, я максимизирую на ~ 196 000 байт. Все, что по этому поводу, я получаю следующий ответ от SQS:AWS boto sqs - почему я не могу отправлять сообщения размером более 196 000 байт?
boto.exception.SQSError: SQSError: 400 Bad Request
<?xml version="1.0"?><ErrorResponse xmlns="http://queue.amazonaws.com/doc/2012-11-05/">
<Error><Type>Sender</Type><Code>InvalidParameterValue</Code><Message>
Value for parameter MessageBody is invalid. Reason: Message body must be shorter than 262144 bytes.</Message>
<Detail/></Error><RequestId>dd24151b-d499-5bb1-acd0-5f776011e960</RequestId></ErrorResponse>
небольшая программа питона для иллюстрации:
from boto.sqs.message import Message
from boto.sqs.connection import SQSConnection
from boto.sqs.message import Message
import sys
sqs_conn = SQSConnection(AWS_KEY, AWS_SECRET)
data = mylong_256kb_string
print sys.getsizeof(data)
current_queue = sqs_conn.create_queue('test_temp_queue')
m = Message()
m.set_body(data)
current_queue.write(m)
Отлично! Это никогда не приходило мне в голову, но ты прав. Ура! –