[英]Trigger lambda function in a certain time range from s3 upload
目前,我们正在从 S3 Upload 触发我们的 lambda 函数。 S3 上传不是特定时间的,它可以随时发生。
现在我们有了一个新要求,我们只能在某个时间范围内运行 lambda,例如 13 UTC 到 20 UTC 之间。 这意味着如果 s3 上传发生在 5 UTC,则 lambda 将在 13 UTC 触发。
实施此更改的最佳方法是什么?
任何建议,将不胜感激。 提前致谢。
如果条件是必须在指定的时间范围内完成上传,则无需进行任何特殊操作。
如果您希望上传触发仅在满足时间范围后执行的 lambda,那么您可以使用 AWS Step Functions。 使用等待状态,任务时间可以延迟 lambda 函数的调用。 延迟可以是动态的(例如 13 UTC - 当前时间)。
工作流程可能如下所示:
看:
由于触发 Lambda 函数的时间现已固定,您可以在所需时间设置 CloudWatch 触发器并将 Lambda 函数设置为该事件规则的源。
脚步 -
打开 Lambda 控制台的函数页面。
选择一个功能
在函数概览下,选择添加触发器。
将触发器类型设置为 EventBridge (CloudWatch Events)。
对于规则,选择创建新规则。
配置其余选项并选择添加。
规则只不过是您需要为所需时间设置的 cron 模式。 规则执行后,触发器将根据 cron 启动,并运行 lambda 函数。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.