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

时间:2016-04-28 20:37:13

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

如何在Add Event Source标签中使用boto3模拟AWS GUI控制台上的Event Sources操作。

我想以编程方式创建一个触发器,以便在MyBucket中创建一个对象时,它将调用MyLambda函数(使用别名限定)。

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

方案:

  • 传递前缀过滤器也不错。

1 个答案:

答案 0 :(得分:6)

我看错了方面。这是在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:*'
                ],

            },
        ]})