【问题标题】:Unexpected key 'MessageDeduplicationID' found in params aws-sdk SQS在参数 aws-sdk SQS 中发现意外的键“MessageDeduplicationID”
【发布时间】:2020-09-28 19:34:01
【问题描述】:

我有以下代码:

const sqs = new aws.SQS({region: 'us-east-1', apiVersion: '2012-11-05'});
...
const result = await sqs.sendMessage({
      MessageBody: JSON.stringify(item),
      QueueUrl: QUEUE_URL,
      MessageGroupId: groupId,
      MessageDeduplicationID: deduplicationId,
}).promise();

我收到此错误: Unexpected key 'MessageDeduplicationID' found in params

我在 dev 依赖项中的 aws sdk 是 "aws-sdk": "^2.692.0",

我尝试将 apiVersion 更改为 2020-01-09,也尝试没有通过 apiVersion 但结果相同。

顺便说一下,MessageDeduplicationID 是 2019 年 11 月 25 日对 support sqs triggers on FIFO queues 的更新的一部分,如该文档所述。但我似乎无法让它工作:(

请帮助我。谢谢

【问题讨论】:

  • 这是MessageDeduplicationId,而不是MessageDeduplicationID。这些属性/键名区分大小写。见docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/…
  • 哦,完全错过了第一步 - 仔细检查。谢谢@404 :) 请将您的评论作为答案,以便我标记为正确。谢谢:D

标签: node.js amazon-web-services aws-lambda amazon-sqs


【解决方案1】:

所有 AWS 开发工具包函数的 params 对象中的键或属性名称都区分大小写。在您的情况下,您提供了MessageDeduplicationID,但根据the documentation,它应该是MessageDeduplicationId,因此出现有关意外密钥的验证错误。

【讨论】:

    猜你喜欢
    • 2019-09-05
    • 2018-03-28
    • 1970-01-01
    • 1970-01-01
    • 2021-06-17
    • 1970-01-01
    • 2021-05-13
    • 2014-02-24
    • 2021-03-27
    相关资源
    最近更新 更多