Как получить доступ к параметру из хранилища параметров aws, используя функцию в лямбда-выражении - PullRequest
0 голосов
/ 19 февраля 2019

Я пытаюсь извлечь значение параметра из хранилища параметров, используя следующий код:

 let ssm = new AWS.SecretsManager();
   emailParam = { Path: '/myPath/Service/DestinationEmail'};
   destinationEmail = ssm.getParametersByPath(emailParam, function(err, data){
      if(err){
         console.log(err, err.stack);
      } else {
         return data;
      }
        });
    }else { 
        destinationEmail = dev.destinationEmail;  
    }

Я проверил версию SDK, которая работает, и консоль вышла из системы версии 2.339.0, поэтомуЯ добавил это в качестве явной ссылки в package.json зависимости "aws-sdk": "^2.339.0"

Всякий раз, когда я развертываю эту лямбду и выполняю тест вызова лямбды, я получаю следующее исключение:

TypeError: ssm.getParametersByPath is not a function at exports.handler 

Lookingв документации API метод, который я написал, выглядит (для меня) правильным, но я продолжаю получать это исключение.

Любые предложения о том, как вытащить значение параметра из хранилища и использовать ли оно внутри лямбды?

Ответы [ 2 ]

0 голосов
/ 19 февраля 2019

Похоже, вы используете неправильный API.

getParametersByPath можно найти в классе SSM .

Просмотр документации для SecretsManager не обнаруживает такой функции.

0 голосов
/ 19 февраля 2019

Вы используете неправильный сервис.Есть AWS Secrets Manager и AWS System Manager Store параметров .

Вы создаете клиент для первого, но используете API для второго.Попробуйте использовать SSM клиент , я думаю, это то, что вы ищете.

...