我正在使用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 用户,但它仍然无法正常工作)。
我还在我的节点服务器 ( console.log(s3)
) 中记录了我的 aws 凭证,它与我的 aws 安全凭证中的内容相匹配。
如何正确配置我的 aws 凭据以上传到 s3?