AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 765972
Accepted
Valien
Valien
Asked: 2016-03-25 12:52:31 +0800 CST2016-03-25 12:52:31 +0800 CST 2016-03-25 12:52:31 +0800 CST

有什么方法可以为现有对象启用 Amazon S3 版本控制?

  • 772

我在 AWS S3 Object Versioning 上阅读的所有信息都特别提到了这一点:

在您设置版本控制状态之前存储在您的存储桶中的对象的版本 ID 为 null。当您启用版本控制时,您的存储桶中的现有对象不会更改。变化的是 Amazon S3 处理未来请求中的对象的方式。本节中的主题介绍了启用版本控制的存储桶中的各种对象操作。

资源

我目前在一个存储桶中有大约 2 TB(370K 个对象)的数据。我的理解是,如果我现在打开版本控制,那么未来的对象将被版本控制。我的问题:现有的对象呢?我是在没有它们未版本化的情况下陷入困境,还是有办法在不下载/重新上传它们的情况下对其进行版本化?我在做 Google Fu 时没有找到任何信息,所以想在这里 ping 集体。

谢谢。

amazon-web-services
  • 3 3 个回答
  • 2602 Views

3 个回答

  • Voted
  1. Best Answer
    iSkore
    2016-03-25T13:38:28+08:002016-03-25T13:38:28+08:00

    对不起,伙计,但你被困住了。

    必须启用版本控制才能访问以前的版本。

    在禁用 版本控制或暂停版本控制的情况下,您无法检索任何类型的变更日志。该文件被简单地覆盖。

    如果null桶中已经存在null版本,则覆盖该版本,如下图所示。

    版本图
    (来源:amazon.com)

    • 将对象添加到版本挂起的存储桶

    从未启用版本控制遵循相同的策略。但看起来更像这样:

    没有版本控制
    (来源:amazon.com)

    具有版本 ID 的对象将null继续被覆盖。如果 AWS 默认设置了版本控制,它们可能会用完空间。

    更新:当您启用它时,存储桶中已有的项目将立即开始版本控制。

    • @michael-sqlbot
    • 6
  2. Matt Houser
    2016-03-25T13:42:18+08:002016-03-25T13:42:18+08:00

    当您在存储桶上启用版本控制时,不会为现有对象提供版本 ID。相反,它们的版本 ID 为null. 任何以前的版本都不会“自动恢复”。

    除此之外,现有对象将在未来正常进行版本控制。

    在存储桶中添加或更改的新对象将被赋予唯一的版本 ID。

    启用版本控制后,如果您列出对象的所有版本,您会注意到最后一个(最旧的)版本的版本 ID 为null,如果该原始版本在启用版本控制之前存在。

    • 4
  3. Aled Sage
    2020-07-03T07:08:16+08:002020-07-03T07:08:16+08:00

    当您在现有 S3 存储桶上启用版本控制时,版本控制确实对现有对象“起作用”(取决于您的期望!)。

    如果您删除旧对象,它只会使用删除标记。您可以通过以通常方式删除删除标记来恢复该旧对象。这是我删除后看到的内容:

    aws s3api list-object-versions --bucket my-example-bucket --prefix myfile
    
    {
        "Versions": [
            {
                "ETag": "\"0123456789abcdef0123456789abcdef\"",
                "Size": 10,
                "StorageClass": "STANDARD",
                "Key": "myfile",
                "VersionId": "null",
                "IsLatest": false,
                "LastModified": "2020-07-02T12:59:44+00:00",
                "Owner": {
                    "DisplayName": "aws-dev",
                    "ID": "7930123456789abcdef0123456789abcdef0123456789abcdef0123456789abc"
                }
            }
        ],
        "DeleteMarkers": [
            {
                "Owner": {
                    "DisplayName": "aws-dev",
                    "ID": "7930123456789abcdef0123456789abcdef0123456789abcdef0123456789abc"
                },
                "Key": "myfile",
                "VersionId": "ABCDEFGHIJKLMN_ABCDEFGHIJKLMNOPQ",
                "IsLatest": true,
                "LastModified": "2020-07-02T13:06:53+00:00"
            }
        ]
    }
    
    • 0

相关问题

  • 如何在 Amazon Linux 服务器上升级到 Java 1.8?

  • 如何在 AWS ubuntu 实例上安装 apache?

  • 了解 Amazon AWS 使用数据

  • 亚马逊提供的负载均衡服务体验如何?

  • ELB 中现有节点的 AWS 自动缩放问题

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve