node.js - 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);
});
解决方案
您的 aws cli 配置文件未正确配置 配置文件的位置是
Linux、macOS 或 Unix 上的 ~/.aws/config 或 Windows 上的 C:\Users\USERNAME.aws\config。
您需要在使用任何 sdk 调用 aws 服务之前设置此文件 我发布了一个链接,该链接将指导您如何在不同的操作系统中设置 aws cli
推荐阅读
- python - 如何在硒中获取获取请求的文本输出?
- python - 我的程序中有一个我无法弄清楚的错误
- r - 将数据框 1 中的列乘以数据框 2 中的条件
- c# - C#:是否可以默认使 Enum 成员值赋值二进制而不是十进制?
- computer-vision - Yolo 高 mAP 但相当低的置信度
- laravel - 在 laravel 中动态设置 conf var
- c# - 如果在 macOS 上通过 VPN 连接,Selenium ChromeDriver 无法定位元素
- python - Python:用多个字母猜测刽子手游戏
- regex - 如何仅删除数字之间的空格?
- local-storage - localStorage 未定义 - Next.js