计算 Amazon EventBridge PutEvents 活动条目大小 - Amazon EventBridge
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

计算 Amazon EventBridge PutEvents 活动条目大小

您可以使用PutEvents操作向发送自定义事件。 EventBridge 可将多个事件条目批量注入一个请求中,以提高效率。条目总大小必须小于 256KB。您可以在发送事件之前计算条目大小。

注意

已对条目 施加大小限制。即使条目小于大小限制,由于事件 EventBridge 的 JSON 表示形式需要使用必要的字符和键,因此中的事件也始终大于条目大小。有关更多信息,请参阅亚马逊 EventBridge 活动

EventBridge 按如下方式计算PutEventsRequestEntry大小:

  • 如果指定,则 Time 参数为 14 字节。

  • SourceDetailType 参数为其 UTF-8 编码形式的字节数。

  • 如果指定,则 Detail 参数为其 UTF-8 编码形式的字节数。

  • 如果指定,则 Resources 参数的每个条目为其 UTF-8 编码形式的字节数。

以下示例 Java 代码计算给定 PutEventsRequestEntry 对象的大小。

int getSize(PutEventsRequestEntry entry) { int size = 0; if (entry.getTime() != null) { size += 14; } size += entry.getSource().getBytes(StandardCharsets.UTF_8).length; size += entry.getDetailType().getBytes(StandardCharsets.UTF_8).length; if (entry.getDetail() != null) { size += entry.getDetail().getBytes(StandardCharsets.UTF_8).length; } if (entry.getResources() != null) { for (String resource : entry.getResources()) { if (resource != null) { size += resource.getBytes(StandardCharsets.UTF_8).length; } } } return size; }
注意

如果条目大小大于 256KB,我们建议将事件上传到 Amazon S3 桶,并在 PutEvents 条目中加入 Object URL