4
因此,我使用python和BOTO来访问我的AWS SQS。我可以从AWS仪表板中看到SQS中的一些消息。但是,当我试图通过python获取这些消息时,通过的字符只是乱码。任何想法发生了什么?在AWS SQS中使用Python BOTO,获取无意义字符
conn = boto.sqs.connect_to_region("us-east-1")
q = conn.get_queue('my-worker-queue')
print q
#read from message queue
message = q.read(60)
print message
print message.get_body()
鉴于上面的代码中,我得到如下:
Queue(https://queue.amazonaws.com/247124526695/my-worker-queue)
<boto.sqs.message.Message instance at 0x16f31b8>
??e??b?+??-
在消息队列中的文字是:
hello this is a test
这适用于这个简单的消息,但如果我切换到JSON格式,比如说:'{“myMessage”:“你好,这是一个测试”}'使用get_body_encoded()去掉{,“和: – user602525
@ user602525从boto问题跟踪器中查看其他选项。但是我猜这个代码之外的sqs交互中必定存在其他问题,因为get_body_encoded应该返回原始值,因为它是从队列中读取(字节)的。 – alko
RawMessage的工作,谢谢 – user602525