如何使用lambda中的函数从aws参数存储访问参数

How to access parameter from aws parameter store using function in lambda

我正在尝试使用以下代码从 Parameter Store 中提取参数值:

 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"

每当我部署此 lambda 并执行调用 lambda 的测试时,我都会收到以下异常:

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

查看 API 文档,我编写的方法(对我而言)看起来是正确的,但我仍然遇到此异常。

关于如何从存储中提取参数值并在 lambda 中使用它有什么建议吗?

您使用的服务有误。有 AWS Secrets Manager and AWS System Manager Parameter Store.

您正在为前者创建客户端,但为后者使用 API。尝试使用 SSM client,我认为这就是您要找的。

看来你用错了API。

getParametersByPath可以在SSMclass中找到。

浏览 SecretsManager 的文档显示没有这样的功能。