Boto3 - 创建S3'对象创建'通知以触发lambda函数

RAb*_*ham 5 lambda amazon-s3 amazon-web-services boto3

如何使用boto3 Add Event SourceEvent Sources选项卡中模拟AWS GUI控制台上的操作.

我想以编程方式创建一个触发器,这样如果创建了一个对象 MyBucket,它将调用MyLambdafunction(使用别名限定).

我在Boto3文档中看到的相关api调用是create_event_source_mapping明确指出它仅适用于AWS Pull Model,而我认为S3属于Push Model.无论如何,我尝试使用它,但它没有用.

场景:

  • 传递前缀过滤器也很不错.

RAb*_*ham 8

我看错了方面.这是在S3上配置的

    s3 = boto3.resource('s3')
    bucket_name = 'mybucket'
    bucket_notification = s3.BucketNotification(bucket_name)
    response = bucket_notification.put(
        NotificationConfiguration={'LambdaFunctionConfigurations': [
            {
                'LambdaFunctionArn': 'arn:aws:lambda:us-east-1:033333333:function:mylambda:staging',
                'Events': [
                    's3:ObjectCreated:*'
                ],

            },
        ]})
Run Code Online (Sandbox Code Playgroud)