将文件上传到S3存储桶的最佳选择

时间:2018-12-31 18:16:01

标签: amazon-web-services amazon-s3 amazon-ec2 aws-lambda aws-api-gateway

我必须从我的React Web应用程序将视频文件上传到S3存储桶中。我目前正在开发一个简单的react应用程序,并且正在尝试从该应用程序将视频文件上传到S3存储桶中,因此我决定了两种方法来实现上传部分。

1)Amazon EC2实例::从前端开始,我正在访问API,并且服务器正在Amazon EC2实例中运行。因此,我可以将文件从ec2实例上传到S3存储桶中。

2)Amazon API Gateway + Lambda::我通过调用带有数据的https URL,通过API + Lambda函数将本地文件直接发送到S3存储桶中。

但是我对这两种方法都不满意,因为这两种方法都比较昂贵。我必须将文件上传到S3存储桶中,文件超过200MB。我不知道我可以优化此上传过程。视频上传部分对于我的应用程序是必不可少的,我应该非常小心地执行此部分,并且还必须提高性能和成本效益。

如果有人知道任何解决方案,请与我分享,我将对我继续进行工作非常有帮助。

谢谢。

2 个答案:

答案 0 :(得分:2)

您可以使用aws javascript sdk和cognito身份池将文件从react应用程序直接上传到s3,对于优化部分,您可以使用AWS分段上传功能将文件上传到多个部分,我提供了链接以进一步了解该文件

AWS javascript upload image example

cognito identity pools

multipart upload to S3

还考虑一下针对javascript sdk进行的AWS托管上传

aws managed upload javascript

答案 1 :(得分:1)

为了绕过EC2,您可以使用预先认证的POST请求将您的内容从浏览器直接上传到S3存储桶。