带有节点js的AWS RDS:错误:在参数中发现意外的键'DeleteProtection'

时间:2018-10-25 06:06:28

标签: node.js amazon-rds aws-sdk-js

我已经创建了一个AWS RDS实例,现在正尝试从node.js脚本中将参数DeletionProtection修改为 Enabled https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/RDS.html#modifyDBInstance-property
在检查了上面链接中的内容之后,我尝试实现以下内容:

         var params = {
             DBInstanceIdentifier: <db name>,
             DeletionProtection: true,
             ApplyImmediately: true
         };

         var dbDeleteProtect = rds.modifyDBInstance(params).promise();
         dbDeleteProtect
             .then(function (rsp) {
                 console.log(rsp);

             })
             .catch(function (err) {
                 console.log("Error updating DB Deletion protection"+err);             

             });

以上返回错误,如Unexpected key 'DeletionProtection' found in params

我正在使用API​​版本: 2014-10-31 ,并且所使用的AWS-SDK是 aws-sdk-2.4.12.min.js

有人可以建议可以做什么吗?

仅认为共享一些更多信息可能会有所帮助: 当我如下添加 MultiAZ 参数时,相同的代码可以正常工作。因此,我假设这可能与我正在使用的AWS-SDK有关(对此不确定)

var params = {
                 DBInstanceIdentifier: <db name>,
                 MultiAZ: true, //works fine with this parameter
                 ApplyImmediately: true
             };

2 个答案:

答案 0 :(得分:0)

似乎您输错了属性名称,根据AWS文档,它应该是DeletionProtection而不是DeleteProtection

答案 1 :(得分:0)

这里的问题是所使用的AWS-SDK。 选项DeletionProtection于2018年初推出,但修订版aws-sdk-2.4.12在此之前发布了很多。因此,SDK本身不支持DeletionProtection。

我已经下载了最新版本的SDK,并重新执行了该代码,该代码运行正常。现在,针对AWS-RDS实例的DeletionProtection参数更改已更新。