首页 > 解决方案 > 访问 AWS 凭证:错误:在 TCPConnectWrap.afterConnect 处连接 ECONNREFUSED 169.254.169.254:80

问题描述

我正在尝试将图像推送到我的 AWS s3 存储桶,但是当配置文件进行身份验证时出现此错误(在 Linux mint 中运行的相同代码并且成功)

我的代码

const s3 = {
accessKeyId: process.env.ACCESSKEYID,
secretAccessKey: process.env.SECRETACCESSKEY,
};

const config = require('./config');

const s3Client = new AWS.S3({ ...config }); //here s3 object

错误

uncaughtException:配置中缺少凭据,如果使用 AWS_CONFIG_FILE,则设置 AWS_SDK_LOAD_CONFIG=1 错误:在 TCPConnectWrap.afterConnect [as oncomplete] 处连接 ENETUNREACH 169.254.169.254:80 (node:net:1138:16) {"error":{"message" :"配置中缺少凭证,如果使用 AWS_CONFIG_FILE,设置 AWS_SDK_LOAD_CONFIG=1","errno":-4062,"code":"CredentialsError","syscall":"connect","address":"169.254.169.254", "port":80,"time":"2021-07-21T16:08:13.612Z","originalError":{"message":"Could not load credentials from any providers","errno":-4062,"代码”:“CredentialsError”,“系统调用”:“连接”,“地址”:“169.254.169.254”,“端口”:80,"time":"2021-07-21T16:08:13.612Z","originalError":{"message":"EC2 Metadata roleName request returned error","errno":-4062,"code":" ENETUNREACH","syscall":"connect","address":"169.254.169.254","port":80,"time":"2021-07-21T16:08:13.612Z","originalError":{" errno":-4062,"code":"ENETUNREACH","syscall":"connect","address":"169.254.169.254","port":80,"message":"connect ENETUNREACH 169.254.169.254:80 "}}}}code":"ENETUNREACH","syscall":"connect","address":"169.254.169.254","port":80,"time":"2021-07-21T16:08:13.612Z","originalError ":{"errno":-4062,"code":"ENETUNREACH","syscall":"connect","address":"169.254.169.254","port":80,"message":"connect ENETUNREACH 169.254 .169.254:80"}}}}code":"ENETUNREACH","syscall":"connect","address":"169.254.169.254","port":80,"time":"2021-07-21T16:08:13.612Z","originalError ":{"errno":-4062,"code":"ENETUNREACH","syscall":"connect","address":"169.254.169.254","port":80,"message":"connect ENETUNREACH 169.254 .169.254:80"}}}}80,"消息":"连接 ENETUNREACH 169.254.169.254:80"}}}}80,"消息":"连接 ENETUNREACH 169.254.169.254:80"}}}}

标签: javascriptnode.jsamazon-web-servicesamazon-s3

解决方案


推荐阅读