Я пытаюсь разрешить своим пользователям загружать свои файлы в корзины 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)
}
})
Что не хватает? Я что-то пропустил или есть что-то еще?