版本控制

17 Mar 2025 | 4 分钟阅读

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

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

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

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

注意:一旦启用存储桶的版本控制,则无法禁用它。您可以暂停版本控制。

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

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

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

  • 登录 AWS 管理控制台。
  • 移动到 S3 服务。
  • 不,单击“创建存储桶”以创建一个新存储桶。
AWS Versioning
  • 输入存储桶名称,该名称必须是唯一的。
AWS Versioning
  • 单击“创建”按钮。
AWS Versioning

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

  • 现在,我想在存储桶中看到一些对象;我们需要使存储桶公开。 移动到“编辑公共访问设置”,取消选中所有设置,然后保存设置。
AWS Versioning
  • 保存设置后,出现的屏幕如下所示
AWS Versioning

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

  • 确认设置后,屏幕如下所示
AWS Versioning

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

  • 现在,我们将版本控制添加到我们的存储桶。 移动到存储桶的属性,即 jtpbucket 并单击版本控制。
AWS Versioning
  • 单击版本控制后,屏幕如下所示
AWS Versioning

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

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

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

  • 要运行 version.txt 文件,我们必须从 Actions 下拉菜单使其公开。
AWS Versioning
  • 当文件变为公共文件时,我们可以通过单击其对象 URL 来运行该文件。 单击对象 URL 后,屏幕如下所示
AWS Versioning
  • 现在,我们创建文件的第二个版本。 假设我更改文件的内容并重新上传它,那么它将成为文件的第二个版本。
AWS Versioning

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

  • 现在,我们将上面的文件上传到我们的存储桶。
AWS Versioning
  • 上传文件后,会创建文件的两个版本。
AWS Versioning

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

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

从上面的屏幕中,我们可以看到文件的两个版本,并且当前上传的文件成为最新版本。 两个文件的大小相同,即 18.0 B,存储类别,即 Standard。

  • 要运行 version.txt 文件,我们必须从 Actions 下拉菜单使其公开。
  • 现在,移动到文件的属性并单击对象 URL。
AWS Versioning

单击对象 URL。

AWS Versioning
  • 单击对象 URL 后,我们可以看到输出,即当前上传文件的内容。
AWS Versioning
  • 现在,我们删除一个对象。 移动到 Actions 下拉菜单并单击 Delete。
AWS Versioning
  • 删除对象后,屏幕如下所示
AWS Versioning

我们观察到存储桶变为空。

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

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

  • 如果要恢复对象,请通过单击 Actions 下拉菜单并单击 Delete 来删除“删除标记”
AWS Versioning
  • 单击“隐藏”版本,我们将观察到该文件已恢复。
AWS Versioning

要记住的要点:M

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

下一个主题跨区域复制