【问题标题】:How to configure AWS Amplify's Storage.put to use a transfer accelerated s3 bucket domain?如何配置 AWS Amplify Storage.put 以使用传输加速 s3 存储桶域?
【发布时间】:2020-04-03 19:20:13
【问题描述】:

我已经使用Cloudformation 启用了S3 Transfer Acceleration

文档说启用后,开发者需要让他们的客户使用新的加速域名。

例如从mybucket.s3.us-east-1.amazonaws.combucketname.s3-accelerate.amazonaws.com

但是,AWS Amplify 的 Storage.put 方法使用的是在 configuration 期间定义的存储桶名称,如下所示:

Amplify.configure({
  Storage: {
    AWSS3: {
      bucket: AWS_BUCKET_NAME,
      region: AWS_REGION
    }
  }
})

既然这里没有域名,只有一个bucket名,那如何设置成访问加速端点呢?

【问题讨论】:

  • 我也在试图解决这个问题。如果我发现了什么,我会留下更新。

标签: amazon-web-services amazon-s3 aws-sdk aws-amplify


【解决方案1】:

在我看来,Amplify Storage 不支持这种开箱即用的配置,所以如果你想使用 Transfer Acceleration,你需要像这样使用标准的 S3 javascript 客户端:

// obtain credentials from cognito to make uploads to s3...
let albumBucketName = "BUCKET_NAME";
let bucketRegion = "REGION";
let IdentityPoolId = "IDENTITY_POOL_ID";

AWS.config.update({
region: bucketRegion,
credentials: new AWS.CognitoIdentityCredentials({
    IdentityPoolId: IdentityPoolId
})
});

// configure the S3 client to use accelerate - note useAccelerateEndpoint flag
const options = {
    signatureVersion: 'v4',
    region: bucketRegion, // same as your bucket
    endpoint: new AWS.Endpoint('your-bucket-name.s3-accelerate.amazonaws.com'),    
    useAccelerateEndpoint: true,  
};
const s3 = new AWS.S3(options);

// then use the client...
// ...

AWS.S3 类的参考:https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html

【讨论】:

  • 是的,我正在处理仪表板,我们直接使用 S3 客户端......当我迁移到 AWS Amplify 时,有些东西开箱即用,所以我试图混合使用 2我们需要特殊用途...
【解决方案2】:

我也在为此苦苦挣扎,现在偶然发现使用 Storage.put 启用它:

  1. 像往常一样指定您的常规存储桶名称
  2. 在 Storage.put 的选项对象中,设置 useAccelerateEndpoint: true(我取自上述答案)

如果您进行测试,并查看 Chrome 开发者工具的网络控制台,您将看到 Amplify 为加速端点指定了正确的路径。

【讨论】:

  • 你确定它有效吗?它对我不起作用。
  • 根据我在 Chrome 开发工具中所说的,该路径指示使用加速端点,所以是的,我确信它可以工作。有趣的是,我的用户表示性能得到了显着提升。
  • 太好了,我也需要这样做,您为使其运行还执行了其他步骤吗?我所做的是在 s3 存储桶上启用加速,并在 Storage.put 方法的选项中添加了 useAccelerateEndpoint: true ,但是上传视频后,仍然没有使用加速端点。你用的是什么放大版?
猜你喜欢
  • 2022-01-03
  • 2020-05-08
  • 1970-01-01
  • 2019-11-02
  • 2017-09-21
  • 1970-01-01
  • 2017-03-13
  • 1970-01-01
  • 2017-05-30
相关资源
最近更新 更多