AWS RDS с узлом js: ОШИБКА: в параметрах обнаружен неожиданный ключ «DeleteProtection» - PullRequest
0 голосов
/ 25 октября 2018

Я создал экземпляр AWS RDS и сейчас пытаюсь изменить параметр DeletionProtection до Включено из сценария node.js.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 голосов
/ 26 октября 2018

Проблема здесь в том, что используется AWS-SDK.Опция DeletionProtection была представлена ​​в начале 2018 года, но ревизия aws-sdk-2.4.12 была выпущена намного раньше.Таким образом, DeletionProtection не поддерживается самим SDK.

Я скачал последнюю версию SDK и повторно выполнил код, и код работает нормально.Теперь изменение параметра DeletionProtection обновлено для экземпляров AWS-RDS.

0 голосов
/ 25 октября 2018

Похоже, вы неправильно набрали имя свойства, оно должно быть DeletionProtection вместо DeleteProtection в соответствии с документами AWS.

...