Javascript 在aws sdk中为sqs设置数据类型JSON

Javascript 在aws sdk中为sqs设置数据类型JSON,javascript,json,aws-sdk,Javascript,Json,Aws Sdk,我只是想通过使用aws sdk npm包向sqs队列发送一个json对象 const sqsMessage = { MessageAttributes: { "data": { DataType: "String", StringValue: payload.data } }, MessageBody: JSON.stringify(payload),

我只是想通过使用aws sdk npm包向sqs队列发送一个json对象

const sqsMessage = {
    MessageAttributes: {
        "data": {
            DataType: "String",
            StringValue: payload.data
        }

    },
    MessageBody: JSON.stringify(payload),
    QueueUrl: queueUrl
如果我在数据属性中传递json对象,它会告诉它预期的字符串,如果我添加json,它还会抛出一个关于类型的错误,有人知道解决方法或者使用什么来获取json吗

我找到了一些有用的链接

(一)https://blog.chrismitchellonline.com/posts/aws-sqs-message-with-attributes/


  • 如果您能分享您收到的错误信息,我将不胜感激。你能给我们看一个你正在构建的
    有效载荷的例子吗?基本上,
    数据类型
    的允许值如下所示:

    具体来说,这一部分:“Amazon SQS支持以下逻辑数据类型:字符串、数字和二进制。对于数字数据类型,必须使用StringValue。”

    因此,在构造键
    MessageBody
    的值时,您需要使用JSON。因此,类型必须是
    string
    ,并且您的值必须是有效的JSON,它实际上是一个字符串,内部引号转义。例如,类似这样的事情:

    “{\'foo\':\'bar\'”
    
    goLang
    中编写单元测试时,我遇到了同样的问题,它可以正常工作。我知道这是11个月后的事了,但希望这对你或其他人将来有所帮助:)