Tous les produits
Search
Centre de documentation

EventBridge:Calculate the size of events published by PutEvents

Dernière mise à jour :Aug 11, 2026

L'opération PutEvents accepte plusieurs événements personnalisés dans une seule requête, mais la taille totale de tous les événements inclus ne doit pas dépasser 256 Ko (262 144 octets). Calculez la taille de chaque CloudEvent avant le regroupement par lots afin de respecter cette limite.

Méthode de calcul de la taille des événements

Un CloudEvent se compose d'attributs de métadonnées et d'une charge utile. La taille totale correspond à la somme de la longueur en octets UTF-8 de chaque attribut et de la longueur brute en octets du champ data.

Attribut Calcul de la taille
time Généralement 36 octets
specversion Longueur en octets encodée en UTF-8
id Longueur en octets encodée en UTF-8
type Longueur en octets encodée en UTF-8
source Longueur en octets encodée en UTF-8
subject Longueur en octets encodée en UTF-8
dataschema Longueur en octets encodée en UTF-8
datacontenttype Longueur en octets encodée en UTF-8
data Longueur du tableau d'octets brut (byte[])

Exemple de code

Calculez la taille d'un seul 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;
}