amazon-web-services - Boto3 - 创建 S3 'object created' 通知以触发 lambda 函数

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

如何使用 boto3 在 AWS GUI 控制台的Event Sources 选项卡中模拟Add Event Source 操作。

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

我在 Boto3 文档中看到的相关 api 调用是 create_event_source_mapping 但它明确指出它仅适用于 AWS Pull 模型,而我认为 S3 属于 Push 模型。不管怎样,我尝试过使用它,但没有成功。

场景:

  • 传递前缀过滤器也很好。

最佳答案

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

            },
        ]})

关于amazon-web-services - Boto3 - 创建 S3 'object created' 通知以触发 lambda 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36925010/

相关文章:

javascript - 如何将此 javascript 代码重写为 C++11?

python - 解释这个 lambda

scala - SAM 和匿名函数的区别

javascript - 使用 API 生成多个预签名 URL

node.js - Azure DevOp - 指定已弃用的运行时 (nodejs12.x)

amazon-web-services - 在 Neptune 的 OpenCypher 实现中模拟 MERGE

javascript - 如何在AWS上部署静态js应用程序?

node.js - 覆盖低级 node.js 模块

amazon-web-services - Spring Cloud aws 设置端点

amazon-web-services - 如何设置堡垒主机以访问不同 VPC 中的 EC2 实例