使用AWS Kinesis进行大型文件上传

时间:2017-03-31 20:10:50

标签: amazon-web-services amazon-s3 large-files amazon-kinesis amazon-kinesis-firehose

我的客户端有一项存储大量文件的服务,例如视频或声音文件。该服务运行良好,但看起来长期文件存储是一个相当大的挑战,我们希望使用AWS来存储这些文件。

问题如下,客户希望使用AWS kinesis将每个文件从我们的服务器传输到AWS。这可能吗?我们可以使用该服务传输文件吗?有很多视频文件,我们每天都有越来越多的视频文件。而且每个文件都比较大。

我们还希望保存一些文件的细节,可能会保存到dynamoDB中,我们可以使用Lambda函数。

最重要的是,我们需要一个可靠的数据传输选项。

3 个答案:

答案 0 :(得分:4)

KInesis不是上传文件的合适工具,除非它们都非常小 - 而且大多数视频几乎肯定会超过1MB的记录大小限制:

  

数据blob的最大大小(之前的数据有效负载)   一条记录中的Base64编码)是1兆字节(MB)。

https://aws.amazon.com/kinesis/streams/faqs/

答案 1 :(得分:2)

使用其中一个SDK使用S3进行多部分上传。您赢得90天以上无法访问的对象可以移至Glacier。

  

分段上传允许您将单个对象上传为一组零件。每个部分都是对象数据的连续部分。您可以按任何顺序独立上传这些对象部件。如果任何部件的传输失败,您可以重新传输该部件而不影响其他部件。在上传对象的所有部分后,Amazon S3会组装这些部分并创建对象。通常,当对象大小达到100 MB时,应考虑使用分段上传,而不是在单个操作中上传对象。

亚马逊网络服务。 Amazon Simple Storage Service(S3)开发人员指南(Kindle位置4302-4306)。亚马逊网络服务公司.. Kindle版。

要进一步优化文件上传速度,请使用传输加速:

  

Amazon S3 Transfer Acceleration可在客户端和S3存储桶之间远距离传输文件,实现快速,轻松,安全的传输。 Transfer Acceleration利用Amazon CloudFront的全球分布式边缘位置。当数据到达边缘位置时,数据将通过优化的网络路径路由到Amazon S3。

亚马逊网络服务。亚马逊简单存储服务(S3)开发人员指南(Kindle位置2060-2062)。亚马逊网络服务公司.. Kindle版。

答案 2 :(得分:1)

Kinesis推出了一项新服务“Kinesis Video Streams” - https://aws.amazon.com/kinesis/video-streams/,可能有助于移动大量数据。