通过s3cmd 1.1.0 beta上传的大于5 GB的文件的S3错误

时间:2013-01-30 17:14:12

标签: amazon-s3 s3cmd

我正在使用s3cmd 1.1.0beta将大于5 GB的文件上传到Amazon S3。这是因为早于1.1.0的s3cmd无法上传大于5 GB的文件(亚马逊单部件上传限制),并且最新的测试版能够使用多部分上传将这些文件上传到S3。

问题是:我无法对通过s3cmd 1.1.0上传的大于5 GB的文件执行任何操作。我怀疑这可能会发生,因为s3cmd设置的Etag与亚马逊预期的Etag不匹配:

具体问题如下(均通过Web控制台):

  1. 当我尝试将这些文件从一个存储桶复制到另一个存储桶时,Amazon S3会抱怨:“由于以下错误,以下对象不是副本:”
  2. 当我尝试更改这些文件的任何属性时,S3会抱怨:“由于以下对象的错误,未启用或禁用其他属性:”
  3. 有没有办法在大于5 GB的文件中修复Etags,以便我能够对这些文件执行操作?

1 个答案:

答案 0 :(得分:1)

好的,经过一些调查后,我发现问题与Amazon S3无法原生处理大小超过5 GB的文件有关。

为了在大小超过5 GB的文件上复制或执行任何操作,您必须专门使用Amazon的多部分上载和相关API来处理大型文件。

显然,即使是亚马逊的AWS Web控制台也只使用简单的API,这些API仅适用于大小小于5 GB的文件,因此如果您想对大于5 GB的文件执行任何操作,则需要编写您自己的代码使用AWS API来操作这些文件!