Tüm Ürünler
Search
Belge Merkezi

EventBridge:Calculate the size of events published by PutEvents

Son Güncelleme:Oct 07, 2026

PutEvents işlemi, tek bir istekte birden fazla özel olay kabul eder; ancak istekteki tüm olayların toplam boyutu 256 KB'ı (262.144 bayt) aşmamalıdır. Bu sınır içinde kalmak için olayları toplu iş olarak göndermeden önce her bir CloudEvent'in boyutunu hesaplayın.

Olay boyutunun hesaplanması

Bir CloudEvent meta veri niteliklerinden ve bir veri yükünden oluşur. Toplam boyut; her bir nitelikin UTF-8 bayt uzunluğu toplamına, data alanının ham bayt uzunluğunun eklenmesiyle bulunur.

Nitelik Boyut hesaplama
time Genellikle 36 bayt
specversion UTF-8 kodlanmış bayt uzunluğu
id UTF-8 kodlanmış bayt uzunluğu
type UTF-8 kodlanmış bayt uzunluğu
source UTF-8 kodlanmış bayt uzunluğu
subject UTF-8 kodlanmış bayt uzunluğu
dataschema UTF-8 kodlanmış bayt uzunluğu
datacontenttype UTF-8 kodlanmış bayt uzunluğu
data Ham bayt dizisi uzunluğu (byte[])

Örnek kod

Tek bir CloudEvent'in boyutunu hesaplayan Java kodu:

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