python CDK在s3桶上创建lambda触发器



嗨,我想创建一个触发lambda函数当一个新的json文件上传到s3桶。触发规则

使用s3的Lambda调用触发规则

**folder name** on which it will trigger is : input-files 
**file name**  ending with _processed.json OR 000.json 

我正在尝试这个,但不工作,不确定文件结束

的多个规则
trigger-_lambda.add_event_source(_aws_lambda_event_sources.S3EventSource(
bucket,
events=[
_s3.EventType.OBJECT_CREATED],
filters=[
_s3.NotificationKeyFilter(
prefix="input",
suffix="_processed.json" , "000.json ")]
))

这是正确的方法吗?如有任何帮助,不胜感激

S3不允许在一个过滤器中定义多个后缀规则。

要解决这个问题,您需要定义两个独立的事件源:
my_lambda.add_event_source(
lambda_event_sources.S3EventSource(
bucket,
events=[s3.EventType.OBJECT_CREATED],
filters=[
s3.NotificationKeyFilter(
prefix="input",
suffix="_processed.json",
),
],
)
)
my_lambda.add_event_source(
lambda_event_sources.S3EventSource(
bucket,
events=[s3.EventType.OBJECT_CREATED],
filters=[
s3.NotificationKeyFilter(
prefix="input",
suffix="000.json",
),
],
)
)

相关内容

  • 没有找到相关文章

最新更新