gpt4 book ai didi

amazon-s3 - 如何使用 boto 获取所有版本的 S3 key 并取消删除?

转载 作者:行者123 更新时间:2023-12-04 14:43:58 24 4
gpt4 key购买 nike

我有一个 S3 存储桶有一段时间了,但现在才打开版本控制。对其进行一些试验,试图找出我仅通过版本控制而获得的检测保护类型,而无需激活“MFA 删除”选项。

我上传了一个测试文件,然后将其删除,然后重新上传了两次。现在,使用 the S3 browser tool 我看到文件的 4 个版本:#1、#2(已删除)、#3 和 #4(当前)。如果我使用 boto要获得最新版本,我可以提取它的 version_id :

import boto
c=boto.connect_s3()
b=c.get_bucket('my-bucket')
k = b.get_key('test2/dw.txt')
print k.version_id

但是如何获取给定 key 的完整 version_id 列表?如果我想检索 key 的版本 #1(已删除),我是否需要先使用版本 #2 id 来“取消删除”它?

最后,此删除保护(创建删除标记)是否适用于在打开版本控制之前上传的旧文件?

谢谢

最佳答案

您可以使用 list_versions 获取所有可用版本的列表。桶对象的方法。

import boto
c = boto.connect_s3()
bucket = c.get_bucket('my-bucket')
for version in bucket.list_versions():
print(version)

这将返回一个列表 Key具有特定 version_ids 的对象与他们有关。您可以检索任何版本,但使用 Key 上的常规方法。目的。如果要将旧版本设为当前版本,则必须重新上传或将其复制到服务器上。

在存储桶上启用版本控制后,该时间点之后对存储桶中任何对象的所有删除操作都将导致删除标记写入存储桶,而不是实际删除该对象。

关于amazon-s3 - 如何使用 boto 获取所有版本的 S3 key 并取消删除?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28243290/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com