【问题标题】:enabling versioning for s3 bucket object为 s3 存储桶对象启用版本控制
【发布时间】:2019-07-19 23:39:12
【问题描述】:

我想为我的 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'

【问题讨论】:

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


    【解决方案1】:

    使用 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

    【讨论】:

    • 问题是关于“对象版本控制”。这个答案谈到“桶版本控制”
    【解决方案2】:

    解决了这个问题并在boto3上找到了解决方法

    bucket_versioning = s3.BucketVersioning('ben-uguru')
    bucket_versioning.enable()
    

    回信http://boto3.readthedocs.io/en/latest/reference/services/s3.html#bucketversioning

    【讨论】:

      【解决方案3】:

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

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

      更多信息请看:S3 - boto.configure_versioning

      【讨论】:

      • Doesn't work AttributeError: 's3.Bucket' object has no attribute 'configure_versioning' 仍然给我同样的错误
      • 我正在使用 boto3...?
      • 对不起,我以为这是我的道歉。
      猜你喜欢
      • 2011-12-04
      • 1970-01-01
      • 2019-12-03
      • 1970-01-01
      • 2023-03-13
      • 1970-01-01
      • 1970-01-01
      • 2019-12-08
      • 1970-01-01
      相关资源
      最近更新 更多