Изменение имени личной папки в AWS Amplify Storage - PullRequest
0 голосов
/ 25 апреля 2019

Я работаю над безсерверным приложением Reactjs и использую AWS Amplify для управления пользователями и хранения загруженных пользователями файлов.Я храню эти загрузки на S3 в приватном режиме.По умолчанию имя папки является идентификатором Cognito для пользователя.Мне было интересно, можно ли изменить имя папки на что-то вроде имени пользователя.

Спасибо.

1 Ответ

0 голосов
/ 25 апреля 2019

Вы не можете изменить идентификатор пользователя с помощью имени пользователя или чего-либо другого в случае приватного режима.

Вы можете получить учетные данные и передать их конструктору AWS.S3 и загружать файлы в нужную папку, но вы не можете применять политику / ограничение на основе собственного пользовательского базового пути имени пользователя.

import { AWS } from "@aws-amplify/core/lib/Facet";

const credentials = await Auth.currentCredentials();
const s3 = new AWS.S3({
  ...credentials,
  apiVersion: '2006-03-01',
  params: { Bucket: <your bucket name> }
});
      
      
s3.upload({
    Key: <your key>,
    Body: file,
    progressCallback: prgressCallback // if any
  })
  .promise()
  .then(res => {})
  .catch(err => {})
...