收到sqs消息正文没有双引号

时间:2016-08-11 06:49:15

标签: python json amazon-sqs boto3

您好我正在使用boto3发送和接收sqs消息。 我发送下面的sqs消息。 {"用户ID":1234," ml_algorithm_type":1," file_format":1," FILE_PATH":" leu.gz& #34;}

但是在收到消息时,我会收到以下字符串。 {用户ID:1234,ml_algorithm_type:1,file_format:1,FILE_PATH:leu.gz}

我想收到我发送的确切消息。

1 个答案:

答案 0 :(得分:0)

以下测试功能验证在Amazon Simple Queuing Service(SQS)中,我们可以收到带有JSON双引号的消息。

请注意,在代码中,字典看起来像键和值上有单引号。这很好,因为json.dumps()函数将所有键和值转换为使用JSON标准双引号。

test_sqs.py

import json

import boto3
from moto import mock_sqs


@mock_sqs
def test_sqs():
    sqs = boto3.resource('sqs', 'us-east-1')
    queue = sqs.create_queue(QueueName='votes')

    queue.send_message(MessageBody=json.dumps({'beer': 'tasty'}))

    messages = queue.receive_messages()
    assert len(messages)
    assert messages[0].body == '{"beer": "tasty"}'  # <- double quotes