【发布时间】:2021-02-11 03:45:52
【问题描述】:
我已将数千个视频文件上传到 S3 存储桶,然后更改存储桶管理设置以将文件迁移到 Glacier。我正在尝试检索单个文件并将其复制到我的本地计算机。通常,我按照说明here 进行操作。我使用 S3 管理控制台,选择“操作”以从 Glacier 恢复所选文件,然后使用以下命令下载它:
aws s3 cp s3://my-bucket/my_video_file.mp4 .
这可以按我的意愿工作,但我想知道是否有一种方法可以从 Glacier 恢复文件,而无需通过 Web 浏览器登录并手动选择它进行检索。查看aws s3 cp 的文档,有一个名为--force-galcier-transfer 的选项,但是当我将它包含在我的命令中时,我得到以下信息:
Object is of storage class GLACIER. Unable to perform download operations on GLACIER objects. You must restore the object to be able to perform the operation. See aws s3 download help for additional parameter options to ignore or force these transfers.
这是来自the manual page的命令中的段落:
--force-glacier-transfer (boolean) Forces a transfer request on all Glacier objects in a sync or recursive copy.
是否可以在单个 cli 命令中从 glacier 检索和下载单个文件,还是我总是需要先使用管理控制台来检索文件?如果可以这样做,我也愿意使用 python 脚本或类似的东西。
【问题讨论】:
-
根据AWS S3 Sync --force-glacier-transfer,
--force-glacier-transfer选项“不会进行另一次还原,它只是忽略 API 表示对象在 Glacier 中并尝试无论如何。如果对象不在,它将失败已恢复(它不会尝试恢复它)。请注意,这仅适用于递归命令(例如,带有 --recursive 的同步和 cp/mv),如果您只复制 1 个文件,它将在没有强制标志的情况下工作。
标签: amazon-web-services amazon-s3 command-line-interface