【问题标题】:Accessing AWS SSM Parameters in NodeJS在 NodeJS 中访问 AWS SSM 参数
【发布时间】: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


【解决方案1】:

我发现,这个https://github.com/localstack/localstack/issues/1107也一样

需要在SSM构造函数中传递区域

var ssm = new AWS.SSM({region: 'us-east-1'});

好像是个bug

tks

【讨论】:

    猜你喜欢
    • 2019-10-10
    • 1970-01-01
    • 2018-09-06
    • 2022-07-07
    • 2021-09-24
    • 1970-01-01
    • 2019-12-14
    • 2021-05-26
    • 2021-11-28
    相关资源
    最近更新 更多