如何使用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 的文档显示没有这样的功能。
我正在尝试使用以下代码从 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 的文档显示没有这样的功能。