Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon s3 加快AWS S3视频上传:Cloudfront还是传输加速?_Amazon S3_Aws Sdk_Amazon Cloudfront - Fatal编程技术网

Amazon s3 加快AWS S3视频上传:Cloudfront还是传输加速?

Amazon s3 加快AWS S3视频上传:Cloudfront还是传输加速?,amazon-s3,aws-sdk,amazon-cloudfront,Amazon S3,Aws Sdk,Amazon Cloudfront,我将视频直接上传到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:

我将视频直接上传到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" ]
        ]
};
这很好,我将预先指定的姿势发送回用户浏览器,然后用户从浏览器上传一个文件。步骤2:

let config = { headers: { 'Content-Type': 'multipart/form-data' } };
await axios.post(presignedPostUrl, formData, config)
视频上传很好,只是速度很慢。26秒播放一段60秒的视频。我尝试在AWS控制台中启用,然后在步骤1中创建预签名姿势时对其进行初始化:

s3 = new AWS.S3({useAccelerateEndpoint: true, apiVersion: '2006-03-01'});
视频上传,但速度与原始上传速度大致相同。60秒的iPhone视频上传需要30秒


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

AWS文档说,对于小于1GB的文件,最好使用Amazon Cloudfront的PUT/POST而不是S3传输加速。

AWS文档说,对于小于1GB的文件,最好使用Amazon Cloudfront的PUT/POST而不是S3传输加速