Amazon CloudWatch 事件
用户指南
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。点 击 Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

计算 PutEvents 事件条目大小

可以使用 PutEvents 操作将自定义事件注入 CloudWatch Events中。您可使用 PutEvents 操作注入多个事件,前提是总条目大小不到 256KB。可以执行以下步骤来预先计算事件条目大小。随后,可将多个事件条目批量注入到一个请求中以提高效率。

注意

已对条目施加大小限制。即使条目大小低于大小限制,也并不意味着 CloudWatch Events 中的事件也将小于此大小。相反,事件大小将始终大于条目大小,因为事件的 JSON 表示形式有一些必要的字符和键。有关更多信息,请参阅 事件和事件模式

PutEventsRequestEntry 大小的计算方式如下:

  • 如果指定 Time 参数,则按 14 字节来度量。

  • SourceDetailType 参数按其 UTF-8 编码形式的字节数来度量。

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

  • 如果指定 Resources 参数,则每个实体按其 UTF-8 编码形式的字节数来度量。

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

Copy
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; }