amazon-web-services - SAM 模板 - 始终为 lambda 启用事件触发器
问题描述
我有一个使用 SAM 模板创建的 lambda 函数,该函数每 5 分钟安排一次事件触发器。
当第一次创建 lambda 时,事件被启用。但是,当有人手动禁用触发器时,重新运行堆栈不会再次启用它。
原生云形成有一个名为AWS::Events::RuleState
的属性。但这在 SAM 函数的 Events 属性中不受支持。请注意,此 Events 属性由 SAM 引擎转换为 AWS::Events::Rule。
我尝试在 SAM 中添加相同的 State 属性,但这不起作用。
现在的问题实际上是如何确保在使用 SAM 时始终启用事件。
这有一个黑客可用。
示例代码:
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 属性传递)。
推荐阅读
- java - 使用 module-info.java 时无法加载 FFI 提供程序
- c# - 实例化具有初始值的类型是否比两个单独的语句便宜?
- javascript - 规范化自动完成中的特殊字符
- android - 如何在firebase数据库中制作where查询语句
- javascript - 将加法结果分配给变量时,计算器不起作用。为什么?
- python - Python加速32Bit数内的位排列
- android - 使用导航组件参数将数据传递给多个片段
- apache-spark - 有没有办法限制在 spark sql 中加入表时读取的数据?
- r - 如何将行名添加到分组数据框中的列(R,tidyverse)
- excel - 间接公式