如何设置eventBridge事件触发的秒数?

问题描述 投票:0回答:2

我可以触发和EventBridge(CloudWatch 中的规则/计划功能以前)计划功能(例如,每 5 分钟一次)或通过 cron 设置来执行相同的操作。

并且速率设置通常会在以下时间触发: 7:05:13、7:10:13、7:15:13 等

如果我删除 EventBridge 规则并重建它,它将在以下位置触发: 7:05:42、7:10:42、7:15:42 等等...

我的猜测是,它从规则首次生效的那一刻开始,并以这个速度尽职尽责地触发。

我需要在完全相同的秒触发 - 最好是第零秒或其他一些非常接近于零的值,因为我正在与在第零秒收集的另一个进程进行同步数据收集 - 有没有办法定义 EventBridge 计划任务规则的开始秒(如果有办法使用 无服务器框架 来实现这一点,将会特别有帮助)?

我尝试过使用 cron 设置并获得相同的基本结果(当然,秒数不同,但仍然不是第零秒 - 并且它触发的第二秒在规则的每次部署中都发生了变化)

不敢确保我的企业规模无服务器框架部署每次都在零秒(这对于大型多成员项目来说是不合理的)如何设置 cron 或的二级计时eventBridge(以前称为 cloudwatch)中基于速率的规则任务?

之前的问题(如何在第二级安排 cloudwatch 规则?)暗示默认情况是在第 0 秒触发,但情况似乎并非如此。

amazon-web-services amazon-cloudwatch aws-event-bridge
2个回答
1
投票

EventBridge 不提供秒精度。 即使您观察到它,它也不能保证在精确的分钟/秒内执行。

如果您需要以秒精度执行,那么 EventBridge 不是适合您的工具。

如此处所述: https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html

CloudWatch Events 不提供秒级精度的计划 表达式。使用 cron 表达式的最佳解决方案是 分钟。由于 CloudWatch Events 的分布式特性和 目标服务,预定规则的时间之间的延迟 触发以及目标服务兑现执行的时间 目标资源可能是几秒钟。您预定的规则是 在那一分钟内触发,但不是在精确的第 0 秒触发。


0
投票

我通过简单地让 eventbridge 触发一个 lambda 来解决这个问题,该 lambda 除了“等待”零秒之外什么都不做……然后调用我的实际 lambda。

© www.soinside.com 2019 - 2024. All rights reserved.