📜  AWS版本控制

📅  最后修改于: 2020-11-06 13:54:47             🧑  作者: Mango

版本控制

版本控制是将对象的多种形式保留在同一S3存储桶中的一种方法。版本控制可用于检索,保留和还原S3存储桶中对象的每个版本。

例如,存储桶由两个具有相同键但具有不同版本ID的对象组成,例如photo.jpg(版本ID为11)和photo.jpg(版本ID为12)。

启用版本控制的存储桶允许您从删除或覆盖中恢复对象。它有两个作用:

  • 如果删除对象,则不是创建永久删除对象,而是创建一个删除标记,该标记成为对象的当前版本。
  • 如果覆盖对象,它将创建该对象的新版本,并还原该对象的先前版本。

注意:启用存储桶的版本控制后,便无法将其禁用。您可以暂停版本控制。

版本控制状态可以应用于存储桶中的所有对象。启用版本控制状态后,存储桶中的所有对象将保持版本控制,并为它们提供唯一的版本ID。以下是要点:

  • 如果未启用版本控制状态,则将对象的版本ID设置为null。如果未启用版本控制,则现有对象不会更改或不受影响。
  • 存储桶拥有者可以暂停版本控制以停止对象版本。暂停版本控制时,现有对象不受影响。

让我们通过一个例子来理解版本控制的概念。

  • 登录到AWS管理控制台。
  • 移至S3服务。
  • 否,点击“创建存储桶”以创建一个新存储桶。

  • 输入存储桶名称,该名称必须唯一。

  • 点击“创建”按钮。

在上面的屏幕中,我们观察到存储桶“ jtpbucket”是使用默认设置创建的,即存储桶和对象不是公共的。

  • 现在,我想查看存储桶中的一些对象;我们需要公开一个桶。移至“编辑公共访问设置”,取消选中所有设置,然后保存设置。

  • 保存设置后,将显示以下屏幕:

在文本框中键入“确认”以确认设置。点击“确认”按钮。

  • 确认设置后,屏幕显示如下:

上面的屏幕显示存储桶中的对象已公开。

  • 现在,我们将版本控制添加到存储桶中。移至存储桶的属性,即jtpbucket ,然后单击版本控制。

  • 单击版本控制后,将显示如下屏幕:

我们可以启用或暂停版本控制。假设我们启用版本控制并保存此设置,这会将版本添加到存储桶中。

  • 现在,我们将文件上传到存储桶中。

  • 现在,我们单击“添加文件”以将文件添加到存储桶中。上传文件后,屏幕显示如下:

在上面的屏幕中,我们观察到version.txt文件已上传。

  • 要运行version.txt文件,我们必须从“操作”下拉菜单中将其公开。

  • 文件公开后,我们可以通过单击其对象URL来运行该文件。单击对象URL时,将显示如下屏幕:

  • 现在,我们创建文件的第二个版本。假设我更改了文件的内容并重新上传,则它成为文件的第二个版本。

在上面的屏幕中,我们将内容从“版本1”更改为“版本2”,然后保存文件。

  • 现在,我们将以上文件上传到存储桶中。

  • 上传文件后,将创建文件的两个版本。

从上面的屏幕中,我们观察到我们可以隐藏或显示版本。

  • 当我们单击“显示”时,我们可以看到文件的所有版本。

在上面的屏幕中,我们可以看到文件的版本和当前上传的文件都变为最新版本。这两个文件的大小相同,即18.0 B,而存储类的大小则为Standard。

  • 要运行version.txt文件,我们必须从“操作”下拉菜单中将其公开。
  • 现在,移至文件的属性,然后单击对象URL。

单击对象URL。

  • 点击对象URL,我们可以看到输出,即当前上传文件的内容。

  • 现在,我们删除一个对象。移至“动作”下拉菜单,然后单击“删除”。

  • 删除对象时,屏幕显示如下:

我们观察到铲斗变空了。

  • 但是,当单击显示版本时,我们可以看到文件的所有版本,即删除标记和文件的其他两个版本。

从上面的屏幕中我们观察到该对象没有被永久删除;它已恢复。因此,版本控制概念用于还原对象。

  • 如果要还原对象,请单击“操作”下拉菜单,然后单击“删除” ,以删除“删除标记”。

  • 单击“隐藏”版本,我们将观察到该文件已还原。

要记住的要点:M

  • 它存储对象的所有版本(包括所有写操作,即使您删除了对象)。
  • 这是一个很棒的备份工具。
  • 启用版本控制后,将无法禁用它,而只能将其暂停。
  • 它与生命周期规则集成在一起。
  • 版本控制的MFA删除功能使用多因素身份验证,可用于提供附加的安全层。