Tutorial: Relai Peristiwa Amazon Kinesis Stream Menggunakan CloudWatch Events - Amazon CloudWatch Peristiwa

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

Tutorial: Relai Peristiwa Amazon Kinesis Stream Menggunakan CloudWatch Events

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 merelai peristiwa panggilan API AWS di CloudWatch Events ke aliran di Amazon Kinesis.

Prasyarat

Instal AWS CLI. Untuk informasi selengkapnya, lihat Panduan Pengguna AWS Command Line Interface.

Langkah 1: Membuat Amazon Kinesis Stream

Gunakan perintah berikut create-stream untuk membuat aliran.

aws kinesis create-stream --stream-name test --shard-count 1

Ketika status aliran adalah ACTIVE, aliran sudah siap. Gunakan perintah berikut describe-stream untuk memeriksa status aliran:

aws kinesis describe-stream --stream-name test

Langkah 2: Buat aturan

Sebagai contoh, buat aturan untuk mengirim peristiwa ke aliran Anda ketika Anda menghentikan instans Amazon EC2.

Untuk membuat tabel

  1. Buka konsol CloudWatch di https://console.aws.amazon.com/cloudwatch/.

  2. Di panel navigasi, pilih Peristiwa, Buat aturan.

  3. Untuk Sumber peristiwa, lakukan hal berikut:

    1. Pilih Pola kejadian.

    2. Pilih Bangun pola peristiwa untuk mencocokkan peristiwa berdasarkan layanan.

    3. Pilih EC2, Notifikasi Perubahan Status Instans.

    4. Pilih Status khusus, Berjalan.

  4. Untuk Target, pilih Tambahkan target, Aliran Kinesis.

  5. Untuk Aliran, pilih aliran yang Anda buat.

  6. Pilih Membuat peran baru untuk sumber daya khusus ini.

  7. Pilih Konfigurasi detail.

  8. Untuk Definisi aturanIT, ketikkan nama dan deskripsi untuk aturan.

  9. Pilih Buat aturan.

Langkah 3: Uji Aturan

Untuk menguji aturan Anda, hentikan satu instans Amazon EC2. Setelah menunggu beberapa menit hingga instans berhenti, periksa metrik CloudWatch Anda untuk memverifikasi bahwa fungsi Anda telah dipanggil.

Untuk menguji aturan Anda dengan pemfilteran stopword instans

  1. Buka konsol Amazon EC2 di https://console.aws.amazon.com/ec2/.

  2. Peluncuran instans. Untuk informasi selengkapnya, lihat Peluncuran Instans Anda di Panduan Pengguna Amazon EC2 untuk Instans Linux.

  3. Buka konsol CloudWatch di https://console.aws.amazon.com/cloudwatch/.

  4. Di panel navigasi, pilih Peristiwa, Aturan, lalu pilih nama aturan yang Anda buat, dan kemudian pilih Tampilkan metrik untuk aturan tersebut.

  5. (Opsional) Setelah selesai, Anda dapat mengakhiri instans tersebut. Untuk informasi lebih lanjut, lihat Akhiri Instans Anda di Panduan Pengguna Amazon EC2 untuk Instans Linux.

Langkah 4: Verifikasi bahwa Peristiwa Direlai

Anda dapat memperoleh catatan dari aliran untuk memverifikasi bahwa peristiwa telah direlai.

Untuk mendapatkan catatan

  1. Gunakan perintah berikut get–shard-iterator untuk mulai membaca dari aliran Kinesis Anda:

    aws kinesis get-shard-iterator --shard-id shardId-000000000000 --shard-iterator-type TRIM_HORIZON --stream-name test

    Berikut ini adalah contoh output:

    { "ShardIterator": "AAAAAAAAAAHSywljv0zEgPX4NyKdZ5wryMzP9yALs8NeKbUjp1IxtZs1Sp+KEd9I6AJ9ZG4lNR1EMi+9Md/nHvtLyxpfhEzYvkTZ4D9DQVz/mBYWRO6OTZRKnW9gd+efGN2aHFdkH1rJl4BL9Wyrk+ghYG22D2T1Da2EyNSH1+LAbK33gQweTJADBdyMwlo5r6PqcP2dzhg=" }
  2. Gunakan perintah berikut get-records untuk mendapatkan catatan. Serpihan iterator adalah hasil yang Anda dapatkan di langkah sebelumnya:

    aws kinesis get-records --shard-iterator AAAAAAAAAAHSywljv0zEgPX4NyKdZ5wryMzP9yALs8NeKbUjp1IxtZs1Sp+KEd9I6AJ9ZG4lNR1EMi+9Md/nHvtLyxpfhEzYvkTZ4D9DQVz/mBYWRO6OTZRKnW9gd+efGN2aHFdkH1rJl4BL9Wyrk+ghYG22D2T1Da2EyNSH1+LAbK33gQweTJADBdyMwlo5r6PqcP2dzhg=

    Jika perintah berhasil, perintah akan meminta catatan dari aliran Anda untuk shard yang ditentukan. Anda dapat menerim nol atau beberapa catatan. Catatan apa pun yang dikembalikan mungkin tidak mewakili semua catatan di aliran Anda. Jika Anda tidak menerima data yang Anda harapkan, pangill get-records secara terus-menerus.

    Catatan dalam Kinesis dikodekan sebagai Base64. Namun, dukungan aliran di AWS CLI tidak menyediakan dekode base64. Jika Anda menggunakan decoder base64 untuk memecahkan kode data secara manual, Anda akan melihat bahwa peristiwa tersebut adalah peristiwa yang direlai ke aliran dalam bentuk JSON.