【问题标题】:Speed Up AWS S3 Video Upload: Cloudfront or Transfer acceleration?加速 AWS S3 视频上传:Cloudfront 还是传输加速?
【发布时间】:2019-10-30 12:49:32
【问题描述】:

我正在将视频直接上传到 AWS S3 存储桶,但即使是 10 秒的 iPhone 视频,上传速度似乎也很慢。我网站上的用户上传了一个视频。

第 1 步:在服务器上创建 createPresignedPost

const AWS = require('aws-sdk');
s3 = new AWS.S3({apiVersion: '2006-03-01'});
AWS.config.update({keys, region});
var params = {
  Bucket: 'bucket',
  Fields: {
    key: fileNameKey
  },
  Expires: expireTime,
        Conditions: [
            ["content-length-range", 0, 500000000], // limit to 500 Mb
            [ "eq", "$acl", "public-read" ]
        ]
};

这很好用,我将 presignedPostUrl 发送回用户浏览器,然后用户从浏览器上传文件。第 2 步:

let config = { headers: { 'Content-Type': 'multipart/form-data' } };
await axios.post(presignedPostUrl, formData, config)

视频上传正常,只是速度很慢。 60 秒的视频需要 26 秒。我尝试在 AWS 控制台中启用 AWS s3 Transfer acceleration,然后在步骤 1 中创建我的 presignedPostUrl 时对其进行初始化:

s3 = new AWS.S3({useAccelerateEndpoint: true, apiVersion: '2006-03-01'});

视频上传,但速度与原始上传速度大致相同。 60 秒 iPhone 视频需要 30 秒才能上传。

我的设置是否正确?使用 Cloudfront 上传会更快吗?

【问题讨论】:

    标签: amazon-s3 aws-sdk amazon-cloudfront


    【解决方案1】:

    AWS 文档说,对于小于 1GB 的文件,最好使用 Amazon CloudFront 的 PUT/POST 而不是 S3 Transfer Acceleration。

    【讨论】:

      猜你喜欢
      • 2017-10-18
      • 1970-01-01
      • 2019-05-18
      • 1970-01-01
      • 1970-01-01
      • 2011-01-10
      • 1970-01-01
      • 2017-08-16
      • 2017-03-13
      相关资源
      最近更新 更多