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

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

计算亚马逊 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 存储桶,并将该事件包含Object URLPutEvents条目中。