【问题标题】:CloudFormation aws-sdk for node createStack error UnexpectedParameter: Unexpected key 'ClientRequestToken'CloudFormation aws-sdk 用于节点 createStack 错误 UnexpectedParameter: Unexpected key 'ClientRequestToken'
【发布时间】:2017-11-06 20:11:33
【问题描述】:

在运行时 Node.js 6.10 中使用 lambda 函数
我正在尝试将客户端提供的令牌(字符串)作为 ClientRequestToken 包含在对 createStack 的调用中。
如果我在传递给 createStack 函数的参数中包含 ClientRequestToken,则会收到以下错误:

2017-06-02T02:08:23.864Z    5a26eb46-4738-11e7-8020-730416363290    { UnexpectedParameter: Unexpected key 'ClientRequestToken' found in params
    at ParamValidator.fail (/var/runtime/node_modules/aws-sdk/lib/param_validator.js:50:37)
    at ParamValidator.validateStructure (/var/runtime/node_modules/aws-sdk/lib/param_validator.js:77:14)
    at ParamValidator.validateMember (/var/runtime/node_modules/aws-sdk/lib/param_validator.js:88:21)
    at ParamValidator.validate (/var/runtime/node_modules/aws-sdk/lib/param_validator.js:34:10)
    at Request.VALIDATE_PARAMETERS (/var/runtime/node_modules/aws-sdk/lib/event_listeners.js:108:42)
    at Request.callListeners (/var/runtime/node_modules/aws-sdk/lib/sequential_executor.js:105:20)
    at callNextListener (/var/runtime/node_modules/aws-sdk/lib/sequential_executor.js:95:12)
    at /var/runtime/node_modules/aws-sdk/lib/event_listeners.js:74:9
    at finish (/var/runtime/node_modules/aws-sdk/lib/config.js:313:7)
    at /var/runtime/node_modules/aws-sdk/lib/config.js:331:9
  message: 'Unexpected key \'ClientRequestToken\' found in params',
  code: 'UnexpectedParameter',
  time: 2017-06-02T02:08:23.864Z } 'UnexpectedParameter: Unexpected key \'ClientRequestToken\' found in params
    at ParamValidator.fail (/var/runtime/node_modules/aws-sdk/lib/param_validator.js:50:37)

这是我创建 params 对象的方式:

var params = {
        StackName: stack_name,
        ClientRequestToken : clientRequestToken,
        Capabilities: [
            'CAPABILITY_IAM'
        ],
        NotificationARNs: [
            'arn:aws:sns:ap-southeast-2:account-id:topic-name'
        ],
        Parameters: parameters,
        Tags: [
            {
                 Key: 'Name',
                Value: 'kktest'
            },
        ],
        TemplateURL: templateUrl
    };

我无法理解这个错误。 ClientRequestToken 在 createStack 方法的文档中有明确定义:http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CloudFormation.html#createStack-property

如果我只是在 params 对象中注释掉 ClientRequestToken,则 createStack 调用成功。所以我的其余代码似乎没问题。

我已将其发布到 aws 论坛,但还没有回复:https://forums.aws.amazon.com/thread.jspa?threadID=257033

有人可以帮忙解决这个问题吗?

【问题讨论】:

    标签: node.js aws-lambda aws-sdk amazon-cloudformation


    【解决方案1】:

    在 lambda 环境中当前支持的 AWS JS SDK 版本似乎是来自 documentation reference 的 2.45.0。您提到的文档链接包含最新版本 2.69.0 的文档。

    我尝试在latest(2.69.0) 中找到“ClientRequestToken”,并且能够在代码中找到它。当我尝试在 version 2.45.0 中找到它时,代码中没有“ClientRequestToken”。这意味着该功能是最近推出的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-10-04
      • 1970-01-01
      • 2021-05-05
      • 1970-01-01
      • 2021-11-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多