我有一个使用SAM模板创建的lambda函数,它每隔5分钟安排一次事件触发器。
当lambda第一次创建时,事件被启用。但是,当有人手动禁用触发器时,重新运行堆栈不会再次启用它。
原生云的形成在State
中有一个名为AWS::Events::Rule的属性。但是SAM功能的Events属性不支持此功能。需要注意的是,此事件属性由SAM引擎转换为AWS :: Events :: Rule。
我尝试在SAM中添加相同的State属性,但这不起作用。
现在问题是如何确保在使用SAM时始终启用事件。
这有一个hack可用。
示例代码:
MyUpdater:
Type: 'AWS::Serverless::Function'
Properties:
Handler: myupdater.lambda_handler
Runtime: python3.6
FunctionName: "myupdater"
CodeUri: ./code
Description: Sample updater lambda
MemorySize: 128
Timeout: 60
Role: !ImportValue myIamRole
KmsKeyArn: !ImportValue myKeyArn
Events:
Timer:
Type: Schedule
Properties:
Schedule: rate(5 minutes)
提前致谢
今天这是不可能的。我们正在考虑将来的此功能(CFN属性传递)。