【问题标题】:Changing private folder name in AWS Amplify Storage在 AWS Amplify Storage 中更改私有文件夹名称
【发布时间】:2019-09-15 07:24:02
【问题描述】:

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

谢谢。

【问题讨论】:

    标签: reactjs aws-amplify


    【解决方案1】:

    在私密模式下,您不能使用用户名或任何其他东西更改身份 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 => {})

    【讨论】:

    • 我有一个类似的问题,我如何告诉 Storage.put 上传到 s3 上的自定义路径,在我们定义文件夹的存储桶内,我想将文件放在其中一个文件夹中,.. . 我们可以用这个丰富的插件做到这一点吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-02
    • 2019-04-27
    • 2013-07-07
    相关资源
    最近更新 更多