为s3存储桶对象启用版本控制

时间:2016-11-16 01:09:48

标签: python amazon-web-services amazon-s3 boto

我想为我的s3存储桶对象启用版本控制,也就是我的存储桶中的嵌套文件。

object = s3.Bucket('ben-uguru').Object('db.sqlite')
object.configure_versioning(versioning=True)
print object

在这种情况下,我希望桶'ben-uguru'中的文件'db.sqlite'启用了版本控制。但是,我得到的问题是AttributeError: 's3.Object' object has no attribute 'configure_versioning'

3 个答案:

答案 0 :(得分:2)

如果要在s3.Bucket实例上启用版本控制而不在Object实例上启用版本控制,则可以使用:

bucket = s3.Bucket('ben-uguru')
bucket.configure_versioning(True)

有关更多信息,请查看:S3 - boto.configure_versioning

答案 1 :(得分:2)

想出了问题并找到了在boto3

上做到这一点的方法
bucket_versioning = s3.BucketVersioning('ben-uguru')
bucket_versioning.enable()

请参阅http://boto3.readthedocs.io/en/latest/reference/services/s3.html#bucketversioning

答案 2 :(得分:0)

使用boto3,检查并更改版本控制状态。

import boto3


bucket_name = 'avilpage'

s3 = boto3.resource('s3')
versioning = s3.BucketVersioning(bucket_name)

# check status
print(versioning.status)

# enable versioning
versioning.enable()

# disable versioning
versioning.suspend()

S3文档:https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/s3.html#bucketversioning