Todos los productos
Search
Centro de documentos

EventBridge:Cálculo del tamaño de los eventos publicados por PutEvents

Última actualización: Sep 05, 2026

La operación PutEvents acepta varios eventos personalizados en una sola solicitud, pero el tamaño total de todos los eventos no debe exceder 256 KB (262,144 bytes). Calcule el tamaño de cada CloudEvent antes de agruparlos para mantenerse dentro de este límite.

Cómo se calcula el tamaño del evento

Un CloudEvent consta de atributos de metadatos y una carga útil de datos. El tamaño total equivale a la suma de la longitud en bytes UTF-8 de cada atributo más la longitud en bytes sin procesar del campo data.

Atributo

Cálculo del tamaño

time

Generalmente 36 bytes

specversion

Longitud en bytes con codificación UTF-8

id

Longitud en bytes con codificación UTF-8

type

Longitud en bytes con codificación UTF-8

source

Longitud en bytes con codificación UTF-8

subject

Longitud en bytes con codificación UTF-8

dataschema

Longitud en bytes con codificación UTF-8

datacontenttype

Longitud en bytes con codificación UTF-8

data

Longitud de la matriz de bytes sin procesar (byte[])

Código de ejemplo

Calcule el tamaño de un solo CloudEvent (Java):

int getSize(CloudEvent event) {
    int size = 0;

    // time is generally a 36-byte timestamp when present
    if (event.getTime() != null) {
        size += 36;
    }

    // Metadata attributes: measure UTF-8 encoded byte length
    size += event.getSpecversion().getBytes(StandardCharsets.UTF_8).length;
    size += event.getId().getBytes(StandardCharsets.UTF_8).length;
    size += event.getType().getBytes(StandardCharsets.UTF_8).length;
    size += event.getSource().toString().getBytes(StandardCharsets.UTF_8).length;
    size += event.getSubject().getBytes(StandardCharsets.UTF_8).length;
    size += event.getDataschema().toString().getBytes(StandardCharsets.UTF_8).length;
    size += event.getDatacontenttype().getBytes(StandardCharsets.UTF_8).length;

    // Data payload: measure raw byte array length
    size += event.getData().length;

    return size;
}