首页 > 解决方案 > 具有不同输入的 Cloudwatch 规则

问题描述

如何在每次计划时创建具有不同输入的 AWS cloudwatch 规则?示例:我想每 1 小时安排一次 lambda,第一次应该使用 cloudwatch 规则将“xyz”作为输入,第二次输入应该是“123”,第三次输入应该是“78ds”等等.

标签: amazon-web-servicesaws-lambdaamazon-cloudwatch

解决方案


没有内置的方法可以做到这一点。计划的事件数据不包括有关调用次数的任何信息。输入转换器用于格式化事件数据,在这种情况下不能使用。但是,您可以将数据作为常量(JSON 文本)传递并创建一个逻辑来选择正确的值。

两个建议:

  1. 将表示 Lambda 调用计数的值存储在 DynamoDb 表中。当您的函数被调用时,它会从表中获取该值,将其递增并将其写回。索引为您提供从输入数据中选择的值。如果您有 N 个输入值,请使用 index = value mod N。

  2. 使用简单的数学方法根据调用时间确定索引。


推荐阅读