S3 Glacier 对象未还原
S3 Glacier Objects aren't restored
所以大约 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 告诉我,我所有的对象都存储在 class 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)
它还尝试通过 Web 界面下载文件,但没有问题
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/
如果对象已经冰川恢复,s3 sync with --force-glacier-transfer 应该可以工作
我遇到了同样的问题,以下命令对我有用:
aws s3 cp s3://buckt_name/dir1/ s3://bucket_name/dir1/ --recursive --force-glacier-transfer
所以大约 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 告诉我,我所有的对象都存储在 class 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)
它还尝试通过 Web 界面下载文件,但没有问题
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/
如果对象已经冰川恢复,s3 sync with --force-glacier-transfer 应该可以工作
我遇到了同样的问题,以下命令对我有用:
aws s3 cp s3://buckt_name/dir1/ s3://bucket_name/dir1/ --recursive --force-glacier-transfer