gpt4 book ai didi

node.js - 在 Windows 10 WSL 上访问 AWS 凭证 : Error: connect ECONNREFUSED 169. 254.169.254 :80 at TCPConnectWrap. afterConnect

转载 作者:太空宇宙 更新时间:2023-11-03 22:04:24 24 4
gpt4 key购买 nike

我想访问我保存在 C:/Users/myusername/.aws 中的 AWS 凭证该文件称为凭证,没有任何扩展名,它有我的 aws_access_key_id、aws_secret_access_key 和 aws_session_token

下面的代码在 Windows 10 WSL 上不起作用,产生错误:错误:连接 ECONNREFUSED 169.254.169.254:80 在 TCPConnectWrap.afterConnect [未完成] (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);
}

});

最佳答案

运行 WSL 时,C:\ 驱动器安装在 /mnt/ 中。要使用存储在 Windows 路径 C:\Users\myusername\.aws\ 中的 crendentials 文件,您有两个选择:

1。使用环境变量

环境变量 AWS_SHARED_CREDENTIALS_FILE 必须设置为 credentials 文件的路径。

在 WSL 中:

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

2。使用符号链接(symbolic link)

(感谢@Michael-sqlbot)

在 WSL 中:

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

现在,您的 Node.js 应用程序应该能够访问凭据。

关于node.js - 在 Windows 10 WSL 上访问 AWS 凭证 : Error: connect ECONNREFUSED 169. 254.169.254 :80 at TCPConnectWrap. afterConnect,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58411583/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com