【问题标题】:SAM Template - Always enable event trigger for lambdaSAM 模板 - 始终为 lambda 启用事件触发器
【发布时间】:2019-07-29 05:21:04
【问题描述】:

我有一个使用 SAM 模板创建的 lambda 函数,该函数每 5 分钟安排一次事件触发器。

当第一次创建 lambda 时,事件被启用。但是,当有人手动禁用触发器时,重新运行堆栈不会再次启用它。

原生云的形成在AWS::Events::Rule 中有一个名为State 的属性。但这在 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)

提前致谢

【问题讨论】:

    标签: amazon-web-services aws-lambda aws-sam


    【解决方案1】:

    这在今天是不可能的。我们正在考虑将来使用此功能(CFN 属性传递)。

    【讨论】:

    • 您不能手动禁用触发器。在某些类型的 cloudformation 堆栈中创建的某些资源无法修改。
    猜你喜欢
    • 2020-06-08
    • 2022-11-03
    • 2018-04-01
    • 2021-11-17
    • 2020-12-21
    • 1970-01-01
    • 2021-04-24
    • 2020-07-20
    • 1970-01-01
    相关资源
    最近更新 更多