2016-03-31 28 views
0

我有一个430G对象,我在几个月前使用lifecyle策略从S3存档到Glacier。我下面Archiving Amazon S3 Data to Amazon Glacier博客,Transitioning to the GLACIER storage class (Object Archival)无法从AWS S3检索恢复的存档'无效的大小值:1g'

你恢复的对象都会保留在冰川和S3的减少冗余存储(RRS)保留期限..... 的时间虽然对象是在存档Glacier,您无法通过Glacier API访问它们....因为Amazon S3维护您的用户定义的对象名称和Amazon Glacier系统定义的标识符之间的映射关系,所以使用Amazon Glacier选项存储的Amazon S3对象只能通过Amazon S3 API访问

我通过控制台将对象恢复到S3(确定约5小时)它说,它是可用的,但是当我尝试使用awscli下载对象时,我不断收到错误'无效的大小值:1g'

我试图使用aws s3 cp命令(适用于其他对象)下载到EC2实例。这个实例有一个相关的角色,允许读/写到S3桶/文件夹。我还检查了ubuntu用户有写权限到我试图下载对象的地方。

aws --version 

aws-cli/1.10.17 Python/2.7.10 Linux/4.2.0-30-generic botocore/1.4.8 

aws s3 cp s3://cab-arch/Backups/160211_Archive.tar 160211_Archive.tar 

任何帮助将不胜感激,我找不到任何有关此特定错误的信息。

+1

您显然混淆了术语...... S3档案*物件*为冰川,而“避难所”术语在此情况下未使用。如果你使用的是'aws s3 cp',请显示你的命令行,这样我们就可以得到某种想法,不管是否有关于调用的含义不明确,或者它实际上可能是我们在aws-cli中的一个错误。 –

+0

[看起来](http://kataribe.naist.jp/aws/aws-cli/commit/346a81d08f8c0f48678739d962e29675f8488c45)它试图将可读大小转换为字节。无法想象为什么会发生这种情况的'aws s3 cp'命令。是的,请显示您正在运行的CLI命令。 –

+0

我写了一个使用boto3下载对象的python脚本,这是工作。我认为这可能是awscli中的一个错误, – Christine

回答

0

事实证明,这实际上是由码头错误造成的。我正在尝试下载的文件系统以前是由码头集装箱装载的。虽然docker ps未显示任何正在运行的容器,但fd命令显示该容器在该文件系统上仍有多个“打开”文件。我杀了码头工人,一切都很顺利。 Info on this docker bug