2016-03-31 26 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