Что отсутствует CredentialsError: Отсутствуют учетные данные в конфигурации? - PullRequest
0 голосов
/ 09 мая 2020

Я пытаюсь разрешить своим пользователям загружать свои файлы в корзины S3. Для этого я использую AWS cognito, поэтому каждый раз, когда они пытаются загрузить файлы, они получают временные ключи. Моя загрузка выглядит так:

const results = await DocumentPicker.pick({
        type: [DocumentPicker.types.audio],
      })


        AWS.config.region = 'us-west-1'
        AWS.config.credentials = new AWS.CognitoIdentityCredentials({
          IdentityPoolId: 'us-west-1:....',
          RoleArn: 'roleValue...',
        })

        const s3 = new AWS.S3({
          apiVersion: '2006-03-01',
          params: { Bucket: 'bucketName' },
        })

        const base = await fs.readFile(results.uri, 'base64')
        const buffer = base64.decode(base)
        var uploadParams = {
          Bucket: 'bucketName',
          Key: `dir1/id/filename`,
          Body: buffer,
        }
        s3.upload(uploadParams, (err: Error, data: ManagedUpload.SendData) => {
          if (err) {
            console.warn('callback error')
            console.warn(err)
          } else {
            console.warn(data)
          }
        })

Что не хватает? Я что-то пропустил или есть что-то еще?

...