从SQS接收消息:收到的消息与发送的消息不同
Receiving message from SQS: received message is different from sent message
我正在使用 SQS 队列,我在其中使用 Python boto 发送元素。
当我尝试从 Java 接收它时,我得到了其他东西,不是同一个主体。
这是我的 Java:
CreateQueueRequest createQueueRequest = new CreateQueueRequest().withQueueName("random_queue");
String queueUrl = sqsClient.createQueue(createQueueRequest).getQueueUrl();
ReceiveMessageRequest receiveMessageRequest = new ReceiveMessageRequest(queueUrl).withWaitTimeSeconds(20);
List<Message> messages = sqsClient.receiveMessage(receiveMessageRequest).getMessages();
System.out.println(messages.toString());
for (Message message : messages) {
String element = message.getBody();
System.out.println(" [x] Received '" + element + "'");
}
输出:[x] Received 'ZGY1YzNiODYtNTM4Ny00NzVmLThkMGEtMDc4MzkxM2M2YWY5'
Python代码:
my_queue = conn.create_queue('random_queue', 900)
m = my_queue.read()
body= m.get_body()
print body
输出:df5c3b86-5387-475f-8d0a-0783913c6af9
(这是我在队列中发送的实际消息)
为什么我的 Java 向 Python 返回不同的消息?
Java 代码以 base 64 返回。解码它以获得原始消息。
我正在使用 SQS 队列,我在其中使用 Python boto 发送元素。 当我尝试从 Java 接收它时,我得到了其他东西,不是同一个主体。
这是我的 Java:
CreateQueueRequest createQueueRequest = new CreateQueueRequest().withQueueName("random_queue");
String queueUrl = sqsClient.createQueue(createQueueRequest).getQueueUrl();
ReceiveMessageRequest receiveMessageRequest = new ReceiveMessageRequest(queueUrl).withWaitTimeSeconds(20);
List<Message> messages = sqsClient.receiveMessage(receiveMessageRequest).getMessages();
System.out.println(messages.toString());
for (Message message : messages) {
String element = message.getBody();
System.out.println(" [x] Received '" + element + "'");
}
输出:[x] Received 'ZGY1YzNiODYtNTM4Ny00NzVmLThkMGEtMDc4MzkxM2M2YWY5'
Python代码:
my_queue = conn.create_queue('random_queue', 900)
m = my_queue.read()
body= m.get_body()
print body
输出:df5c3b86-5387-475f-8d0a-0783913c6af9
(这是我在队列中发送的实际消息)
为什么我的 Java 向 Python 返回不同的消息?
Java 代码以 base 64 返回。解码它以获得原始消息。