首页 > 解决方案 > 如何使用 lambda 函数在多个 S3 存储桶上启用版本控制?

问题描述

我的任务是编写一个可以在多个 S3 存储桶上启用版本控制的 lambda 函数。我该怎么做?

标签: pythonamazon-web-servicesamazon-s3lambda

解决方案


python v3.8 中的以下 lambda 代码将为您账户中的所有 S3 存储桶启用版本控制。

import json
import boto3


def lambda_handler(event, context):
    s3 = boto3.client('s3')
    response = s3.list_buckets()

    for bucket in response['Buckets']:
        s3.put_bucket_versioning(Bucket=bucket["Name"],
                             VersioningConfiguration={
                                 'MFADelete': 'Disabled',
                                 'Status': 'Enabled',
                             },
        )
    
    print("Enabled versioning on bucket : ", bucket["Name"])
    
    return {
        'statusCode': 200,
        'body': json.dumps('Hello from Lambda!')
    }

有关更多详细信息,请在此处参阅适用于 Python 的 AWS 开发工具包 (Boto3) 。


推荐阅读