Как определить несколько триггеров для лямбда-функции в шаблоне SAM? - PullRequest
0 голосов
/ 25 февраля 2020

Я создал лямбда-функцию из шаблона SAM и определил несколько триггеров, но в облачной информации создается только один из этих триггеров. Это мой шаблон 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? Это невозможно?

1 Ответ

2 голосов
/ 25 февраля 2020

Поля «События» - это словарь, поэтому вы должны давать своим триггерам разные имена, как в:

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