В AWS SDK S3 отсутствуют учетные данные - PullRequest
0 голосов
/ 20 сентября 2018

Пытаюсь использовать модуль узла 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делает.

...