嗨,我想创建一个触发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",
),
],
)
)