Изменение имени частной папки в AWS Amplify Storage

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

Спасибо.


person Buttlet    schedule 25.04.2019    source источник


Ответы (1)


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

Вы можете получить учетные данные и передать их конструктору 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 => {})

person Zohaib Ijaz    schedule 25.04.2019
comment
У меня есть аналогичный вопрос, как мне сообщить Storage.put для загрузки на пользовательский путь на s3, внутри корзины мы определили папки, я хочу поместить файлы в одну из папок, ... можем ли мы сделать это с помощью этого достаточно плагин? - person Cya; 29.04.2021