CredentialsError:nodejs aws-sdk 中的配置中缺少凭据

Posted

技术标签:

【中文标题】CredentialsError:nodejs aws-sdk 中的配置中缺少凭据【英文标题】:CredentialsError: Missing credentials in config in nodejs aws-sdk 【发布时间】:2019-05-05 18:59:48 【问题描述】:

我正在尝试在 aws-s3 中上传文件,但它显示了一些错误,例如

节点代码:

const AWS = require('aws-sdk');
const uploadFile = async (file) => 

    const s3 = new AWS.S3(
        accessKeyId: "<AWSS3_AccessKey>",
        secretAccessKey: "<AWSS3_SecretKey>",
        region: "ap-south-1"
    );

    const params = 
        Bucket: "test123", // pass your bucket name
        Key: file.name, //filename
        Body: file.data, //data
    ;
    s3.upload(params, function(s3Err, data) 
        if (s3Err) throw s3Err
        //console.log(`File uploaded successfully at $data.Location`)
    );
;

var files = [];
var fileKeys = Object.keys(req.files);

fileKeys.forEach(function(key) 
    var file = req.files[key];
    files.push(file.name);
    uploadFile(file);
);

【问题讨论】:

前段时间回答了一个问题,演示了如何配置一个s3的实例并上传多个文件。请参阅SO - Answer。 @AndersonMendes,上面的代码以前可以工作,但现在不能工作。 我明白了,我发现这个issue 可能是一个原因,但仍然没有解决方案。 【参考方案1】:

您的 aws cli 配置文件未正确配置,配置文件的位置是

Linux、macOS 或 Unix 上的 ~/.aws/config 或 Windows 上的 C:\Users\USERNAME.aws\config。

您需要在使用任何 sdk 调用 aws 服务之前设置此文件我发布了一个链接,该链接将指导您如何在不同的操作系统中设置 aws cli

Setup AWS CLI

【讨论】:

以上是关于CredentialsError:nodejs aws-sdk 中的配置中缺少凭据的主要内容,如果未能解决你的问题,请参考以下文章

CredentialsError:无法从适用于 Javascript 的 AWS-SDK v2 中的 ChainableTemporaryCredentials 加载凭证

AWSEBCLI 不读取环境变量

NodeJs开发目录

[nodejs] nodejs开发个人博客准备工作

nodeJs

NodeJS 安装