Aws lambda 如何在SAM模板中为lambda函数定义多个触发器?

Aws lambda 如何在SAM模板中为lambda函数定义多个触发器?,aws-lambda,aws-sam,amazon-cloudwatch-events,Aws Lambda,Aws Sam,Amazon Cloudwatch Events,我从SAM模板创建了一个lambda函数,并定义了多个触发器,但在cloudformation中只创建了其中一个触发器。这是我的sam模板: Myfunc: Type: AWS::Serverless::Function Properties: FunctionName: name CodeUri: / Handler: app.lambdaHandler Runtime: nodejs12.x Ro

我从SAM模板创建了一个lambda函数,并定义了多个触发器,但在cloudformation中只创建了其中一个触发器。这是我的sam模板:

Myfunc:
    Type: AWS::Serverless::Function
    Properties:
        FunctionName: name
        CodeUri: /
        Handler: app.lambdaHandler
        Runtime: nodejs12.x
        Role: myrole            
        Events:
            Trigger:
                Type: CloudWatchEvent
                Properties:
                    EventBusName: mybus
                    Pattern:
                        source: 
                            - a
                        detail-type:
                            - b
            Trigger:
                Type: CloudWatchEvent
                Properties:
                    EventBusName: mybus
                    Pattern:
                        source:
                            - c
此模板正确部署,但只创建一条规则,在aws控制台中,sam模板上显示:

Events:
    Trigger:
      Type: CloudWatchEvent
      Properties:
        EventBusName: mybus
        Pattern:
          source:
          - c

知道如何在sam模板中为lambda定义多个触发器吗?不可能吗?

事件字段是一个字典,因此您必须为触发器指定不同的名称,如:

Events:
    Trigger:
        Type: CloudWatchEvent
        Properties:
            EventBusName: mybus
            Pattern:
                source: 
                    - a
                detail-type:
                    - b
    TriggerForSourceC:
        Type: CloudWatchEvent
        Properties:
            EventBusName: mybus
            Pattern:
                source:
                    - c