【问题标题】:S3 Glacier Objects aren't restoredS3 Glacier 对象未恢复
【发布时间】:2018-04-09 08:35:28
【问题描述】:

所以大约 14 小时前,我确实在我的 S3 存储桶中的 2 个文件夹(相对较大的 10.5 TiB 和 200 GiB)上运行了恢复命令

s3cmd restore --recursive --restore-days=4 -restore-priority=bulk s3://mybucket/folder1/
s3cmd restore --recursive --restore-days=4 -restore-priority=bulk s3://mybucket/folder2/

现在我想将两个文件夹复制到不同的存储桶

aws s3 sync s3://mybucket/folder1/ s3://mybucket2/

aws s3 sync s3://mybucket/folder2/ s3://mybucket2/

但是 aws cli 告诉我我的所有对象都属于存储类 GLACIER,我必须先恢复它们。这就是我认为我所做的。当我在 Web 界面中查看它们时,它们似乎已恢复并且它们已经有一个到期日期。到期日期是Apr 14, 2018 2:00:00 AM GMT+0200,所以从现在起超过 4 天(这是我写这篇文章的时候Apr 9, 2018 10:30:00 AM GMT+0200)这是否意味着对象只能在Apr 10, 2018 2:00:00 AM GMT+0200 上可用以符合 4 天的恢复时间?

一些修改:

一)

我至少认为为什么到期日期比 4 天还远,因为 AWS 总是将日期四舍五入到下一个 UTC 午夜,在这种情况下为 Apr 14, 2018 2:00:00 AM GMT+0200

b)

还尝试通过网络界面下载文件,没有问题

c)

当我使用aws s3api head-object --bucket mybucket --key folder1/part1.file 获取元数据时,这是响应:

{
    "Restore": "ongoing-request=\"false\", expiry-date=\"Sat, 14 Apr 2018 00:00:00 GMT\"", 
    "AcceptRanges": "bytes", 
    "ContentType": "binary/octet-stream", 
    "LastModified": "Wed, 20 Dec 2017 15:02:48 GMT", 
    "ContentLength": 59408357, 
    "ETag": "\"49b981b95eaf62abed0880c0db7c1200-8\"", 
    "StorageClass": "GLACIER", 
    "Metadata": {}
}

这似乎是它应该的样子。

d)

当我尝试使用 aws s3 cp s3://mybucket/folder1/part1.file s3://mybucket2/ 进行复制时,它可以工作,但 --recursive 不起作用aws s3 cp --recursive s3://mybucket/folder1/ s3://mybucket2/

【问题讨论】:

    标签: amazon-web-services amazon-s3 amazon-glacier


    【解决方案1】:

    我遇到了同样的问题,以下命令对我有用:

    aws s3 cp s3://buckt_name/dir1/ s3://bucket_name/dir1/ --recursive --force-glacier-transfer
    

    【讨论】:

      【解决方案2】:

      如果对象已经被冰川恢复,s3 sync with --force-glacier-transfer 应该可以工作

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-02-22
        • 1970-01-01
        • 2015-06-22
        • 2021-05-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多