Topik ini menjelaskan cara menghitung ukuran event yang diterbitkan oleh operasi PutEvents. Anda dapat menambahkan beberapa event dalam satu permintaan untuk meningkatkan efisiensi.
Skenario
Anda dapat memanggil operasi PutEvents untuk menambahkan event kustom ke EventBridge. Sebelum memanggil operasi PutEvents untuk menambahkan beberapa event, hitung total ukuran semua event untuk memastikan bahwa ukurannya tidak melebihi 256 KB. Kemudian, Anda dapat menambahkan event-event tersebut dalam satu permintaan guna meningkatkan efisiensi.
Berikut adalah cara menghitung ukuran event.
Metode perhitungan
Gunakan parameter berikut untuk menghitung ukuran CloudEvent:
- time: ukuran data umumnya 36 byte.
- specversion: diukur berdasarkan jumlah byte yang dikodekan dalam UTF-8.
- id: diukur berdasarkan jumlah byte yang dikodekan dalam UTF-8.
- type: diukur berdasarkan jumlah byte yang dikodekan dalam UTF-8.
- source: diukur berdasarkan jumlah byte yang dikodekan dalam UTF-8.
- subject: diukur berdasarkan jumlah byte yang dikodekan dalam UTF-8.
- dataschema: diukur berdasarkan jumlah byte yang dikodekan dalam UTF-8.
- datacontenttype: diukur berdasarkan jumlah byte yang dikodekan dalam UTF-8.
- data: diukur berdasarkan panjang byte[].
Kode contoh
Contoh kode Java berikut digunakan untuk menghitung ukuran sebuah CloudEvent:
int getSize(CloudEvent event) {
int size = 0;
if (event.getTime() != null) {
size += 36;
}
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;
size += event.getData().length;
return size;
}