Amazon EventBridge PutEvents节流 节流 FailedEntryCount

问题描述

我打算在我的应用程序中使用Amazon EventBridge。我看到事件已超出某些配额。尽管它的范围是100s到1000s,但我不希望丢失事件并主动添加更多总线来处理高速事件。从API来看,我看到PutEvents抛出500作为异常https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutEvents.html

有人可靠地使用PutEvents异常来处理这种情况并添加总线吗?我看到有FailedEntryCount,但是文档并没有指出失败的原因。因此,我不确定是否可以依靠。我可以使用其他服务(SQS,DB),但想在我的用例中使用EventBridge。

如果还有其他路由(CloudTrail PutEvents)或CloudWatch Logs需要处理,我可以打开以听见。

解决方法

EventBridge的PutEvents API具有软限制,可以按每个帐户增加。

在我看来,您有两个问题:一个是节流的工作方式,另一个是围绕FailedEntryCount的问题。

节流

限制将直接在操作本身上执行(即,当您调用PutEvents时)(提示:尝试一次最多批处理10个事件-将有助于延迟)。如果您受到限制,则假设您的通话费率没有实质性且持续高于分配的限制,AWS开发工具包将暂时重试。如果在重试几次后仍受限制,则整个操作将失败。如果是这样,您可以放心地假设尚未提取事件。

我建议监控节流/错误率和音量,以主动增加EventBridge中的PutEvents限制。有多种方法可以执行此操作,因此在此不再赘述。

无论哪种方式,都可以与AWS支持联系,以了解他们如何帮助提高限额。

FailedEntryCount

由于这是一个批处理API,因此您应始终检查FailedEntryCount> 0,并重试未能提取的条目(如果适用)。可以信赖FailedEntryCount,因为它明确告诉您条目失败,并且您应该检查响应以了解哪些条目失败。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...