首页 > 解决方案 > CredentialsError:nodejs aws-sdk 中的配置中缺少凭据

问题描述

我正在尝试在 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);
});

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

解决方案


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

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

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

设置 AWS CLI


推荐阅读