Пытаюсь использовать модуль узла aws-sdk, но при загрузке файла в мое хранилище я получаю сообщение об ошибке отсутствия учетных данных.
Вот ошибка с моего сервера:
8:16:09 AM web.1 | CredentialsError: Missing credentials in config
8:16:09 AM web.1 | at ClientRequest.<anonymous> (/Users/reid/Desktop/DupeFinder/server/node_modules/aws-sdk/lib/http/node.js:83:34)
8:16:09 AM web.1 | at Object.onceWrapper (events.js:313:30)
8:16:09 AM web.1 | at emitNone (events.js:106:13)
8:16:09 AM web.1 | at ClientRequest.emit (events.js:208:7)
8:16:09 AM web.1 | at Socket.emitTimeout (_http_client.js:706:34)
8:16:09 AM web.1 | at Object.onceWrapper (events.js:313:30)
8:16:09 AM web.1 | at emitNone (events.js:106:13)
8:16:09 AM web.1 | at Socket.emit (events.js:208:7)
8:16:09 AM web.1 | at Socket._onTimeout (net.js:410:8)
8:16:09 AM web.1 | at ontimeout (timers.js:498:11)
8:16:09 AM web.1 | at tryOnTimeout (timers.js:323:5)
8:16:09 AM web.1 | at Timer.listOnTimeout (timers.js:290:5)
А вот мой бэкэнд, который дает мне эту ошибку:
let s3 = new aws.S3()
app.use(express.static('./public'))
aws.config = new aws.Config();
let myCredentials = new aws.CognitoIdentityCredentials({IdentityPoolId:'IDENTITY_POOL_ID'});
aws.config.update({
accessKeyId: "xxxxxx",
secretAccessKey: "xxxxxx",
region: 'us-east-1';
})
var upload = multer({
storage: mults3({
s3: s3,
bucket: 'dupefinderuseruploads',
metadata: function (req, file, cb) {
cb(null, {fieldName: file.fieldname});
},
key: function (req, file, cb) {
cb(null, Date.now().toString())
}
})
})
app.post('/uploads', upload.single('Ncsv'), function(req, res, next) {
res.send('Successfully uploaded ' + req.files.length + ' files!')
})
Я отключил ключ доступа и секретный ключ, я на самом деле не использую xxxxxx ..
В любом случае.Я думаю, что мне просто нужно добавить ключ cradentials в aws.config.update, но, во-первых, узнать, что это за ключ для этого объекта, и, во-вторых, idk, где найти значение этого ключа в amazon s3.
PS Я использую multerS3, потому что я изначально создал приложение с multer, и оно работало.использование multers3 здесь не проблема.
Может ли кто-нибудь указать мне правильное направление?Я не очень уверен, куда идти, и поиск в Google, кажется, тупик.
У меня есть этот myCredintials var, который был показан в документах, но я не могу точно сказать, что это за varделает.