我已经创建了一个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
};
答案 0 :(得分:0)
似乎您输错了属性名称,根据AWS文档,它应该是DeletionProtection
而不是DeleteProtection
。
答案 1 :(得分:0)
这里的问题是所使用的AWS-SDK。 选项DeletionProtection于2018年初推出,但修订版aws-sdk-2.4.12在此之前发布了很多。因此,SDK本身不支持DeletionProtection。
我已经下载了最新版本的SDK,并重新执行了该代码,该代码运行正常。现在,针对AWS-RDS实例的DeletionProtection参数更改已更新。