如何在无服务器中定义多个事件?

问题描述

我想在 serverless.js 框架中为一个函数设置多个事件。

现在该函数被所有对象创建事件触发,

init:
    handler: src/functions/main/handler.run
    timeout: 900
    events:
      - s3:
          bucket: IMAGE_BUCKET_NAME
          event: s3:ObjectCreated:*

但是我只想触发s3:ObjectCreated:Puts3:ObjectCreated:Posts3:ObjectCreated:CompleteMultipartUpload,请问如何修改yaml?

解决方法

这对我有用,

init:
    handler: src/functions/main/handler.startStepFunction
    timeout: 900
    events:
      - s3:
          bucket: IMAGE_BUCKET_NAME
          event: s3:ObjectCreated:Put
      - s3:
          bucket: IMAGE_BUCKET_NAME
          event: s3:ObjectCreated:Post
      - s3:
          bucket: IMAGE_BUCKET_NAME
          event: s3:ObjectCreated:CompleteMultipartUpload