在启用版本的amazon s3存储桶上恢复文件

mez*_*ezi 2 amazon-s3 amazon-web-services

我正在尝试在我的Amazon S3存储桶上启用版本控制和生命周期策略.我知道可以先启用版本控制,然后在该存储桶上应用LifeCycle策略.如果你看到下面的图片,那将证实这个想法.

在此输入图像描述

然后,我已经多次上传了一个文件,创建了同一文件的多个版本.然后我删除了该文件,仍然可以看到几个版本.但是,如果我尝试还原文件,我会看到"启动还原"选项显示为灰色.

在此输入图像描述

我想问任何有类似问题的人,或者让我知道我做错了什么.

谢谢,

Joh*_*ein 10

Amazon S3上的存储桶版本控制保留所有对象版本,即使它们被删除或在同一个键(文件名)下上传新对象时也是如此.

根据您的屏幕截图,该对象的所有先前版本仍然可用.可以通过选择所需版本并从"操作"菜单中选择" 打开",在S3 Management Console中下载/打开它们.

如果选择版本:隐藏,则每个对象仅显示一次.其内容等于最新上传的对象版本.

删除版本化存储桶中的对象仅创建删除标记作为最新版本.这使对象看起来好像已被删除,但如果单击控制台顶部的" 版本:显示"按钮,则仍然可以看到先前版本.删除删除标记将使对象重新出现,内容将是上载的最新版本(删除前).

如果您希望对象的特定版本是"当前"版本,请执行以下任一操作:

  • 删除该版本以来的所有版本(使所需版本为最新版本),或
  • 将所需版本复制回同一对象(使用相同的密钥,即文件名).这将添加新版本,但内容将等于您复制的版本.可以在S3 Management Console中执行复制 - 只需选择"复制",然后从"操作"菜单中选择"粘贴".

Initiate Restore与Amazon Glacier一起使用,后者是一个归档存储系统.除非您创建了将对象移动到Glacier的生命周期策略,否则此选项无关紧要.

  • 当您选择文件版本(在 *Versions:Show* 模式下)时,*Actions* 菜单中的 *Copy* 和 *Paste* 菜单项不可用。当您选择文件(当前版本)时,这些菜单项仅在 *Versions:Hide* 模式下可用。因此,如果我没有遗漏任何内容,那么您用于恢复以前版本的第二个选项将不起作用。我认为要完成的唯一另一种方法是下载您想要恢复的版本,然后重新上传它(在大文件的情况下这非常愚蠢且效率低下)。 (2认同)
  • 啊! 非常正确!是的,*复制和粘贴* 在版本化文件的控制台中不可用。相反,通过 API 或 [AWS 命令​​行界面 (CLI)](http://aws.amazon.com/cli/) 复制对象,指定 *version-id* 作为 `copy-source` 的一部分. 请参阅:[示例请求:复制对象的指定版本](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectCOPY.html#ExampleVersionCopy) 和 [AWS CLI 复制对象文档](https ://docs.aws.amazon.com/cli/latest/reference/s3api/copy-object.html)。 (2认同)