Todos os produtos
Search
Central de documentação

EventBridge:Calcular o tamanho de eventos publicados por PutEvents

Última atualização: Jun 28, 2026

A operação PutEvents aceita múltiplos eventos personalizados em uma única solicitação, mas o tamanho total de todos os eventos na solicitação não deve exceder 256 KB (262.144 bytes). Calcule o tamanho de cada CloudEvent antes do agrupamento em lote para permanecer dentro desse limite.

Como o tamanho do evento é calculado

Um CloudEvent consiste em atributos de metadados e um payload de dados. O tamanho total corresponde à soma do comprimento em bytes UTF-8 de cada atributo mais o comprimento em bytes brutos do campo data.

Atributo

Cálculo do tamanho

time

Geralmente 36 bytes

specversion

Comprimento em bytes codificados em UTF-8

id

Comprimento em bytes codificados em UTF-8

type

Comprimento em bytes codificados em UTF-8

source

Comprimento em bytes codificados em UTF-8

subject

Comprimento em bytes codificados em UTF-8

dataschema

Comprimento em bytes codificados em UTF-8

datacontenttype

Comprimento em bytes codificados em UTF-8

data

Comprimento do array de bytes brutos (byte[])

Código de exemplo

Calcule o tamanho de um único 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;
}