【问题标题】:Using AWS Kinesis for large file uploads使用 AWS Kinesis 上传大文件
【发布时间】:2017-03-31 20:10:49
【问题描述】:

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

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

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

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

【问题讨论】:

  • 如果您想从服务器上传,您应该编写一个程序或获取一个利用分段上传的工具。见docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html。这将稳定并加快向 AWS S3 的传输速度。
  • 谢谢约翰,你能告诉我这样的上传方法有多可靠吗?
  • @sz_tech 非常可靠。如果出现故障,S3 会保留分段分段上传,直到您专门完成或删除。

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


【解决方案1】:

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

数据块的最大大小(之前的数据负载 Base64 编码)在一条记录中为 1 兆字节 (MB)。

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

【讨论】:

  • 谢谢 Brennan,什么是正确的工具?最重要的是服务必须可靠。你能帮我解决这个问题吗?
  • S3 将成为在 AWS 生态系统中存储文件的首选服务。
  • 是的,我们想使用 S3 来存储数据。但是,我们希望找到最可靠的转移选项。我们想立即将文件传输到 S3 存储桶,并且在部署后,我们想删除本地副本。在删除本地副本之前,我们要确保文件已完全上传到 S3。
  • 您可以只使用 S3 API 和/或 AWS-cli S3 cp 或同步命令来复制文件 - 并在其周围包裹一些自定义代码以确保在删除之前它已被重新记录 -这就是我会做的。
  • Aws CP 命令有点乱大文件集。但是,AWS 高级支持部门提供了执行此操作的说明 here。我建议编写 java 代码来满足您的特定需求。
【解决方案2】:

将 S3 与使用其中一种 SDK 的分段上传一起使用。可以将 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。

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

【讨论】:

    【解决方案3】:

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

    【讨论】:

      猜你喜欢
      • 2016-06-06
      • 2012-03-24
      • 2021-08-26
      • 1970-01-01
      • 2021-05-26
      • 1970-01-01
      • 2021-06-15
      • 2016-11-09
      • 1970-01-01
      相关资源
      最近更新 更多