我正在使用aws-sdk
将文件上传到 s3。我正在配置我的凭据
aws.config.update({
accessKeyId: aws.config.credentials.accessKeyId,
secretAccessKey: aws.config.credentials.secretAccessKey,
region: 'us-east-1'
});
然后上传multer-s3
:
const s3 = new aws.S3();
const upload = multer({
storage: multerS3({
s3: s3,
bucket: 'my-bucket-v1',
acl: 'public-read',
contentType: multerS3.AUTO_CONTENT_TYPE,
key: function (req, file, cb) {
const today = new Date();
cb(null, file.originalname)
console.log("file\n", file);
}
})
}).array('upl', 1);
router.post('/api/upload', (req, res, next) => {
upload(req, res, err => {
if (err) return console.log("err\n", err);
res.status(201).send();
})
});
我不断收到的错误与我的访问密钥 ID 相关:"The AWS Access Key Id you provided does not exist in our records."
我在我的 aws 账户中创建了多个新的访问密钥,但没有任何作用。我正在使用 root 用户访问密钥(我尝试了 IAM 用户,但仍然不起作用)。
我还在我的节点服务器中记录了我的 aws 凭证(console.log(s3)
),并且它与我的 aws 安全凭证中的内容相匹配。
如何正确配置我的 aws 凭证以上传到 s3?