如何在 SAM 模板中为 lambda 函数定义多个触发器?
How to define multiple triggers for lambda function in SAM template?
我从 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
我从 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