在AWS Amplify Storage中更改专用文件夹名称

问题描述 投票:0回答:1

我正在研究无服务器的Reactjs应用程序,并使用AWS Amplify来管理用户和存储用户上传的文件。我将这些上传内容以私有模式存储在S3上。默认情况下,文件夹名称是用户的cognito身份标识。我想知道是否可以将文件夹名称更改为类似用户名。

谢谢。

reactjs aws-amplify
1个回答
0
投票

在私有模式下,您无法使用用户名或任何其他内容更改身份ID。

您可以获取凭据并将其传递给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 => {})
© www.soinside.com 2019 - 2024. All rights reserved.