【发布时间】:2020-02-26 06:55:33
【问题描述】:
我正在尝试在我的 nodejs 项目中获取 ssm 参数,这是我的 IAM 凭据,并在我的弹性 beanstalk 实例中编写了一个测试并且可以正常工作。问题出在项目内部。任何想法为什么?
// Load the AWS SDK for Node.js
var AWS = require('aws-sdk');
AWS.config.update({region: 'us-east-1'});
var ssm = new AWS.SSM();
var options = {
Name: '/test/test', /* required */
WithDecryption: false
};
var parameterPromise = ssm.getParameter(options).promise();
parameterPromise.then(function(data, err) {
if (err) console.log(err, err.stack); // an error occurred
else console.log(data); // successful response
});
【问题讨论】:
-
上述示例代码的输出是什么?
-
在实例的 /home 中返回正确的参数值,在 nodejs 项目内部,promise 永远不会被解析或拒绝
-
您能否详细说明 nodejs 项目内部的含义? CLI 成功但您的节点代码失败了吗?您是否为您的应用程序提供了足够的凭据?您能否分享您用于应用程序的 IAM 角色/策略?
-
是的,CLI 运行良好,node 是一个带有 nestjs 的 Web 应用程序。
-
您确定您在适合 SSM 的地区吗? Elastic Beanstalk 的角色是否具有授予其从 SSM 读取权限的策略?
标签: node.js amazon-web-services ssm