2016-05-08 2 views
2

Я работаю над облачным проектом, используя nodejs. Я должен запускать экземпляры EC2, так что сделал npm install aws-sdk.Не удается установить учетные данные AWS в nodejs

Я считаю, что мы должны добавить наши учетные данные сейчас, прежде чем запускать приложение?

я не мог AWS папку, так что я создал папку и добавлены учетные данные в файле credentials.txt ..

C: \ Users \ Jessig \ AWS

Я получаю эту ошибку: {[TimeoutError: Missing полномочия в конфигурации] сообщение: «Недостающие учетные данные в конфигурации», код: «CredentialsError»,

Я попытался установить ключ доступа и секретный ключ в переменных окружения, но все еще получаю ту же ошибку ..

Не знаете, почему я не могу найти папку .aws \ credentials (Windows).

Может ли кто-нибудь помочь?

Большое спасибо Jessi

+0

Можете ли вы добавить пример кода того, что вы пробовали? – Yerken

ответ

0

Есть multiple ways настроить SDK для работы с узлом JS

There are a few ways to load credentials. Here they are, in order of recommendation:

  • Loaded from IAM roles for Amazon EC2 (if running on EC2),
  • Loaded from the shared credentials file (~/.aws/credentials),
  • Loaded from environment variables,
  • Loaded from a JSON file on disk,
  • Hardcoded in your application

Хотя жёстко один не рекомендуется.

Если вы хотите использовать общие файлы учетных данных, на окнах было бы

C:\Users\jessig\.aws\credentials 

(обратите внимание на . перед AWS). Файл должен быть чем-то вроде

[default] 
aws_access_key_id = your_access_key 
aws_secret_access_key = your_secret_key 
6

Как Фредерик упоминалось жестко прописывать не является AWS рекомендуется стандарт, и это не то, что вы хотели бы сделать в производственной среде. Однако, для целей тестирования и обучения, это может быть самым простым способом.

Поскольку ваш запрос был специально для AWS EC2, вот небольшой пример, который должен вас начать.

Чтобы получить список всех доступных вам методов для Node.js, обратитесь к этому AWS documentation.

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 
}); 
+0

Спасибо. Я думаю, что у меня будет больше шансов угадать синтаксис, чем найти один рабочий пример, который не требует 5 других предварительных настроек в документации AWS. –

Смежные вопросы