我正在尝试使用multer设置我的Amazon AWS访问密钥和密码:
var upload = multer({
secretAccessKey: process.env.AWS_ACCESS_SECRET,
accessKeyId: process.env.AWS_ACCESS_KEY,
})
在我的zshrc文件中,我已经完成了
export AWS_ACCESS_SECRET="mysecret"
export AWS_ACCESS_KEY="mykey"
但是在运行节点上,我收到错误
if (!opts.secretAccessKey) throw new Error('secretAccessKey is required')
然而,对密钥和秘密进行硬编码会使其工作,但显然这不是最安全的方法。
我已经完成了源〜/ .zshrc,但它仍然显示错误。
答案 0 :(得分:1)
multer
对象的方式不正确。创建新multer
对象时唯一可用的options是dest/storage
,fileFilter
和limits
。
如果您想直接使用Multer和S3,可以使用multer-s3
。有了它,您可以传递一个新选项storage
,该选项会占用您的secretAccessKey
和accessKeyId
。
如果您不使用multer-s3
,则可以multer
S3
Client使用aws-sdk
。
var multer = require('multer');
var AWS = require('aws-sdk');
var accessKeyId = process.env.AWS_ACCESS_KEY;
var secretAccessKey = process.env.AWS_ACCESS_SECRET;
var upload = multer({dest: '/temp'});
var s3 = new AWS.S3({
accessKeyId: accessKeyId,
secretAccessKey: secretAccessKey
});