Menghitung Ukuran Entri Peristiwa PutEvents - CloudWatch Acara Amazon

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Menghitung Ukuran Entri Peristiwa PutEvents

catatan

Amazon EventBridge adalah cara pilihan untuk mengelola peristiwa Anda. CloudWatch Events dan EventBridge adalah layanan dan API dasar yang sama, tetapi EventBridge menyediakan lebih banyak fitur. Perubahan yang Anda buat di CloudWatch atau EventBridge akan muncul di setiap konsol. Untuk informasi selengkapnya, lihat Amazon EventBridge.

Anda dapat memasukkan peristiwa kustom ke CloudWatch Events menggunakan tindakan PutEvents. Anda dapat memasukkan beberapa peristiwa menggunakan tindakan PutEvents selama ukuran entri total kurang dari 256 KB. Anda dapat menghitung ukuran entri peristiwa terlebih dahulu dengan mengikuti langkah-langkah di bawah ini. Anda dapat membuat batch berisi beberapa entri peristiwa menjadi satu permintaan agar efisien.

catatan

Batas ukuran dikenakan pada entri. Meskipun entri kurang dari batas ukuran tersebut, bukan berarti peristiwa di CloudWatch Events juga kurang dari ukuran ini. Sebaliknya, ukuran peristiwa selalu lebih besar dari ukuran entri akibat karakter yang diperlukan dan kunci representasi JSON peristiwa. Untuk informasi selengkapnya, lihat Pola Peristiwa di CloudWatch Events.

Ukuran PutEventsRequestEntry dihitung sebagai berikut:

  • Jika parameter Time ditentukan, maka ukurannya sebesar 14 bit.

  • Parameter Source dan DetailType adalah ukuran jumlah bit untuk bentuknya yang berenkode UTF-8.

  • Jika parameter Detail ditentukan, ukurannya adalah jumlah bit untuk bentuknya yang berenkode UTF-8.

  • Jika parameter Resources ditentukan, ukuran setiap entri adalah jumlah bit untuk bentuknya yang berenkode UTF-8.

Contoh kode Java berikut ini menghitung ukuran objek PutEventsRequestEntry yang diberikan:

int getSize(PutEventsRequestEntry entry) { int size = 0; if (entry.getTime() != null) { size += 14; } size += entry.getSource().getBytes(StandardCharsets.UTF_8).length; size += entry.getDetailType().getBytes(StandardCharsets.UTF_8).length; if (entry.getDetail() != null) { size += entry.getDetail().getBytes(StandardCharsets.UTF_8).length; } if (entry.getResources() != null) { for (String resource : entry.getResources()) { if (resource != null) { size += resource.getBytes(StandardCharsets.UTF_8).length; } } } return size; }