无法在nodejs中设置AWS凭证

我正在使用nodejs来开发一个云项目。 我必须运行EC2实例,所以做了一个npm安装aws-sdk。

我相信我们现在必须在运行应用程序之前添加我们的凭据?

我不能aws文件夹,所以我已经创build了一个文件夹,并在credentials.txt文件中添加凭据..

C:\用户\ jessig \ AWS

我一直得到这个错误:{[TimeoutError:缺lessconfiguration中的凭据]消息:'缺lessconfiguration中的凭据',代码:'CredentialsError',

我试图设置访问密钥和密钥在环境variables,但仍然得到相同的错误..

不知道为什么我不能find.aws \ credentials(Windows)文件夹..

任何人都可以请帮忙?

非常感谢杰西

正如弗雷德里克所提到的,硬编码不是AWS推荐的标准,在生产环境中这不是你想要做的。 但是,为了testing目的和学习目的,这可能是最简单的方法。

由于您的请求是针对AWS EC2的,因此这里有一个小例子可以帮助您入门。

要获取Node.js的所有可用方法列表,请参阅此AWS文档 。

var AWS = require('aws-sdk'); AWS.config = new AWS.Config(); AWS.config.accessKeyId = "accessKey"; AWS.config.secretAccessKey = "secretKey"; AWS.config.region = "us-east-1"; var ec2 = new AWS.EC2(); var params = { InstanceIds: [ /* required */ 'i-4387dgkms3', /* more items */ ], Force: true }; ec2.stopInstances(params, function(err, data) { if (err) console.log(err, err.stack); // an error occurred else console.log(data); // successful response }); 

有多种方法可以configurationsdk以使用节点js

有几种方法来加载凭据。 在这里,他们是按照推荐顺序:

  • 从Amazon EC2的IAMangular色加载(如果在EC2上运行),
  • 从共享凭证文件(〜/ .aws / credentials)加载,
  • 从环境variables加载,
  • 从磁盘上的JSON文件加载,
  • 硬编码在您的应用程序中

虽然硬编码不推荐。

如果你想使用一个共享的凭据文件,在Windows将是

 C:\Users\jessig\.aws\credentials 

(注意在aws之前)。 你的文件应该是这样的

 [default] aws_access_key_id = your_access_key aws_secret_access_key = your_secret_key