Доступ к учетным данным AWS в Windows 10 WSL: ошибка: подключено ECONNREFUSED 169.254.169.254:80 в TCPConnectWrap.afterConnect - PullRequest
1 голос
/ 16 октября 2019

Я хочу получить доступ к своим учетным данным AWS, которые я сохранил в C: /Users/myusername/.aws. Этот файл называется учетными данными без каких-либо расширений, и у него есть мои aws_access_key_id, aws_secret_access_key и aws_session_token

Приведенный ниже кодне работает в Windows 10 WSL, выдает ошибку: Ошибка: подключить ECONNREFUSED 169.254.169.254:80 в TCPConnectWrap.afterConnect [as oncomplete] (net.js: 1121: 14)

Код работает в Ubuntu сучетные данные сохраняются в папке .aws в домашнем каталоге.

var AWS = require("aws-sdk");

AWS.config.getCredentials(function (err) {

if (err) console.log(err.stack);
  // credentials not loaded
else {
  console.log("Access key:", AWS.config.credentials.accessKeyId);
  console.log("Secret access key:", AWS.config.credentials.secretAccessKey);
}

});

1 Ответ

1 голос
/ 17 октября 2019

При работе WSL диск C:\ монтируется в /mnt/. Чтобы использовать файл crendentials, сохраненный в пути Windows C:\Users\myusername\.aws\, у вас есть два варианта:

1. Использование переменной среды

Для переменной среды AWS_SHARED_CREDENTIALS_FILE необходимо указать путь к файлу credentials.

В WSL:

> export AWS_SHARED_CREDENTIALS_FILE="/mnt/c/Users/myusername/.aws/credentials"

2. Использование символической ссылки

(благодаря @ Michael-sqlbot)

В WSL:

> ln -s /mnt/c/Users/myusername/.aws ~/.aws

Теперь ваше приложение Node.js должно иметь доступ кучетные данные.

...