【问题标题】:How do I use lambda function to enable versioning on multiple S3 buckets?如何使用 lambda 函数在多个 S3 存储桶上启用版本控制?
【发布时间】:2021-05-26 20:34:37
【问题描述】:

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

【问题讨论】:

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


    【解决方案1】:

    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!')
        }
    

    更多详情请参考AWS SDK for Python (Boto3) here

    【讨论】:

    • 感谢大家的合作 我想知道是否有人可以在 pythonv3.8 中的上述 lamda 代码中添加一个逻辑以在多个帐户之间循环,在此先感谢
    【解决方案2】:

    您可以将无服务器用于后端。 您可以将其部署到 S3 存储桶和 AWS Lambda 函数。

    1. 在您的环境中安装无服务器 cli。
    2. 通过 serverless 命令创建 serverless 应用程序
    3. 您可以将其部署到 S3 存储桶和 Lambda。
    serverless deploy
    

    更多详情可以参考here

    【讨论】:

      猜你喜欢
      • 2019-12-03
      • 2011-12-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-20
      • 2017-04-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多