【问题标题】:Is it possible to updade only a piece of a file that was already uploaded to S3?是否可以仅更新已上传到 S3 的文件的一部分?
【发布时间】:2012-01-27 19:42:04
【问题描述】:

假设我确实上传了一个 50mb 的文件到 S3。

完全上传后,文件发生了变化,增加了 5mb 的数据。现在文件是 55mb。

我可以只上传添加到 S3 的这 5mb,还是我总是必须重新上传整个文件?

可能类似于接受内容范围的 PUT 方法,因此我可以只更新这个特定的字节范围。

【问题讨论】:

  • 我不认为我们有这样的规定。由于 S3 只是简单的数据库存储。我并没有真正看透你的代码,并且有一个跟踪器,文件之前已经像那样结束了。
  • 我不是在寻找跟踪器,我确切地知道文件中添加了哪些字节,我正在寻找的是一个允许我告诉 S3 嘿,添加这些您已经拥有的文件上从 X 开始的字节,就像我在部分/可恢复上传时所做的那样。

标签: java upload amazon-s3 amazon


【解决方案1】:

目前 S3 API 不允许您上传更改的部分(即修补文件)。您需要重新上传整个文件。

另一种选择是使用您自己的文件格式将文件保存为一组块。但这使得它与其他 s3 客户端不兼容。

【讨论】:

    【解决方案2】:

    如果您要定期执行此操作,您可能需要研究类似 rsync 的内容。 Rsync 跟踪对文件所做的更改,并使它们在服务器之间保持同步。在工作中,我们使用了一个名为duplicity 的rsync 包装器,它允许我们将文件备份到S3,并且只上传更改文件之间的差异。

    不过,这完全取决于您的具体需求。

    【讨论】:

      猜你喜欢
      • 2019-12-30
      • 1970-01-01
      • 2019-06-25
      • 2011-05-14
      • 2021-08-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多