You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

aws-sdk-js调用SQS SendMessage报属性列表值不支持错误如何解决

错误原因

报错核心是 sendMessage 单条消息发送接口不支持列表类型的消息属性。
你的请求参数里,MessageAttributes 的每个属性都额外传入了 StringListValues、BinaryListValues 两个空数组字段,哪怕字段值为空,只要参数中出现这两个键,AWS SQS 就会判定你尝试传入列表类型的属性值,直接触发该错误。
不需要对整个请求 payload 做字符串化处理,该问题和 payload 序列化无关。

修复方案

调整 MessageAttributes 结构,仅保留你实际用到的字段即可,删除多余的列表类字段:

const AWS = require('aws-sdk');
const sqs = new AWS.SQS();

const params = {
  MessageBody: 'UUID',
  QueueUrl: 'https://sqs.eu-west-1.amazonaws.com/<account>/<queue-name>',
  DelaySeconds: 0,
  MessageAttributes: {
    attribute1: {
      StringValue: 'UUID',
      DataType: 'String'
    },
    attribute2: {
      StringValue: 'SQS',
      DataType: 'String'
    },
    attribute3: {
      StringValue: 'UUID',
      DataType: 'String'
    }
  }
}

sqs.sendMessage(params).promise();

内容的提问来源于stack exchange,提问作者gokublack

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.11 18:00:01