gpt4 book ai didi

amazon-web-services - 从 Amazon Glacier 恢复数据

转载 作者:行者123 更新时间:2023-12-04 08:01:34 25 4
gpt4 key购买 nike

是否有命令行方式可以从 Glacier 恢复数据?
到目前为止,我已经尝试过:

s3cmd restore --recursive s3://mybucketname/folder/

aws s3 ls s3://<bucket_name> | awk '{print $4}' | xargs -L 1 aws s3api restore-object --restore-request Days=<days> --bucket <bucket_name> --key

但是,没有帮助。
PS:我知道我们可以通过控制台来做到这一点。

最佳答案

您可以使用较低级别的 aws s3api命令:

aws s3api restore-object --request-payer requester \
--key path/to/key.blob \
--bucket my-bucket \
--cli-input-json "$(cat request.json)"

然后在 request.json 中设置您的参数, 例如:
{
"RestoreRequest": {
"Days": 1,
"GlacierJobParameters": {
"Tier": "Standard"
}
}
}

启动恢复请求后,您必须调用 head-object确定其恢复状态:
aws s3api head-object --key path/to/key.blob \
--bucket my-bucket \
--request-payer requester
{
"AcceptRanges": "bytes",
"Restore": "ongoing-request=\"true\"",
"LastModified": "Thu, 30 May 2019 22:43:48 GMT",
"ContentLength": 1573320976,
"ETag": "\"5e9bae0592655103e72d0c026e643184-94\"",
"ContentType": "application/x-gzip",
"Metadata": {
"digest-md5": "7ace7afadfaec591a7dcff2b942df701",
"import-digests": "md5"
},
"StorageClass": "GLACIER",
"RequestCharged": "requester"
}

Restore包含, ongoing-request="false" ,恢复将完成。 S3 中的临时副本将持续您在 restore 命令中指定的持续时间。 StorageClass总是 GLACIER (或 DEEP_ARCHIVE)用于任何恢复的文件,即使在恢复完成后也是如此。这是不直观的。

如果您希望将该副本永久恢复到 S3 中,即,将存储类别从 GLACIER 更改为 STANDARD,则您需要将恢复的副本(可能覆盖其自身)放入/复制到一个新文件中。这很烦人。

有关的:
  • Permanently restore Glacier to S3
  • http://docs.aws.amazon.com/AmazonS3/latest/user-guide/restore-archived-objects.html

  • 注意: --request-payer requester是可选的。我在我的设置中使用它,但如果您是存储桶的所有者,则不需要它。

    关于amazon-web-services - 从 Amazon Glacier 恢复数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46670519/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com