Tutorial: Operasi tingkat objek Log Amazon S3 EventBridge - Amazon EventBridge

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

Tutorial: Operasi tingkat objek Log Amazon S3 EventBridge

Anda dapat mencatat operasi API tingkat objek pada bucket Amazon S3 Sebelum Amazon EventBridge dapat mencocokkan kejadian, Anda harus menggunakan AWS CloudTrailuntuk mengatur dan mengkonfigurasi jejak untuk menerima kejadian ini.

Dalam tutorial ini, Anda CloudTrail membuat AWS Lambdafungsi, dan kemudian membuat fungsi di EventBridge konsol yang memanggil fungsi tersebut untuk merespons kejadian data S3.

Langkah 1: Konfigurasi jejak AWS CloudTrail

Untuk mencatat kejadian data untuk bucket S3 keAWS CloudTrail dan EventBridge, pertama Anda membuat jejak. Jejak menangkap panggilan API dan kejadian terkait di akun Anda dan kemudian mengirimkan file log ke bucket S3 yang Anda tentukan. Anda dapat memperbarui jejak yang ada atau membuat jejak.

Untuk informasi selengkapnya, lihat Kejadian Data dalam AWS CloudTrailPanduan Pengguna.

Untuk membuat jejak
  1. Buka CloudTrail konsol di https://console.aws.amazon.com/cloudtrail/.

  2. Pilih Jejak, Buat jejak.

  3. Untuk Nama jejak, ketikkan nama untuk jejak.

  4. Untuk Lokasi penyimpanan, di Buat bucket S3 baru.

  5. Untuk AWS KMS alias, ketik alias untuk bukti kunci KMS.

  6. Pilih Berikutnya.

  7. Untuk Jenis kejadian, pilihKejadian data

  8. Untuk Kejadian data,, lakukan salah satu langkah berikut:

    • Untuk mencatat kejadian data untuk semua objek Amazon S3 dalam bucket, tentukan bucket S3 dan prefiks kosong. Ketika suatu kejadian terjadi pada sebuah objek di bucket tersebut, jejak meproses dan mencatat kejadian.

    • Untuk mencatat kejadian data untuk objek tertentu Amazon S3 dalam bucket, tentukan bucket S3 dan prefiks objek. Ketika suatu kejadian terjadi pada sebuah objek di bucket tersebut dan objek dimulai dengan prefiks yang ditentukan, jejak memproses dan mencatat kejadian tersebut.

  9. Untuk setiap sumber daya, pilih apakah Anda akan mencatat kejadian Baca, kejadian Tulis, atau keduanya.

  10. Pilih Berikutnya.

  11. Pilih Buat jejak.

Langkah 2: Buat fungsi AWS Lambda

Buat fungsi Lambda untuk mencatat kejadian data untuk bucket S3 Anda.

Untuk membuat fungsi Lambda
  1. Buka AWS Lambda konsol tersebut di https://console.aws.amazon.com/lambda/.

  2. Pilih Buat fungsi.

  3. Pilih Tulis dari scratch.

  4. Masukkan nama dan deskripsi untuk fungsi Lambda. Misalnya, beri nama fungsi tersebut LogS3DataEvents.

  5. Tinggalkan sisa pilihan sebagai default dan pilih Buat fungsi.

  6. Pada tab Kode dari halaman fungsi, klik dua kali index.js.

  7. Ganti kode yang ada dengan kode berikut.

    'use strict'; exports.handler = (event, context, callback) => { console.log('LogS3DataEvents'); console.log('Received event:', JSON.stringify(event, null, 2)); callback(null, 'Finished'); };
  8. Pilih Men-deploy.

Langkah 3: Buat Aturan

Buat aturan untuk menjalankan fungsi Lambda yang Anda buat di Langkah 2. Aturan ini berjalan sebagai respons kejadian data Amazon S3.

Untuk membuat tabel
  1. Buka EventBridge konsol Amazon di https://console.aws.amazon.com/events/.

  2. Di panel navigasi, pilih Aturan.

  3. Pilih Buat aturan.

  4. Masukkan nama dan deskripsi untuk aturan. Misalnya, beri nama aturanTestRule

  5. Untuk bus Events, pilih bus kejadian yang ingin Anda kaitkan dengan aturan ini. Jika Anda ingin aturan ini cocok dengan peristiwa yang berasal dari akun Anda, pilih default. Saat layanan AWS di akun Anda menghasilkan kejadian, layanan tersebut akan selalu masuk ke bus kejadian default akun Anda.

  6. Untuk jenis Aturan, pilih Aturan dengan pola peristiwa.

  7. Pilih Selanjutnya.

  8. Untuk sumber acara, pilih AWSlayanan.

  9. Untuk pola Event, lakukan hal berikut:

    1. Untuk Sumber acara, pilih Simple Storage Service (S3) dari daftar drop-down.

    2. Untuk jenis Event, pilih Object-Level API call via CloudTrail dari daftar drop-down.

    3. Pilih Operasi khusus, lalu pilih PutObject.

    4. Secara default, aturan sesuai dengan kejadian data untuk semua bucket di Region. Untuk mencocokkan kejadian data untuk bucket tertentu, pilihTentukan bucket berdasarkan nama dan masukkan satu atau beberapa bucket.

  10. Pilih Selanjutnya.

  11. Untuk jenis Target, pilih AWSlayanan.

  12. Untuk Pilih target, pilih fungsi Lambda dari daftar drop-down.

  13. Untuk Fungsi, pilih fungsiLogS3DataEvents Lambda yang Anda di langkah 1.

  14. Pilih Selanjutnya.

  15. Pilih Selanjutnya.

  16. Tinjau detail aturan dan pilih Buat aturan.

Langkah 4: Uji Aturan

Untuk menguji aturan, letakkan objek di bucket S3 Anda. Anda dapat memverifikasi bahwa fungsi Lambda Anda dipanggil.

Untuk menampilkan catatan fungsi Lambda Anda
  1. Buka CloudWatch konsol di https://console.aws.amazon.com/cloudwatch/.

  2. Di panel navigasi, pilih Log.

  3. Pilih nama grup catatan untuk fungsi Lambda Anda (/aws/lambda/function-name).

  4. Pilih nama aliran catatan untuk menampilkan data yang disediakan oleh fungsi untuk instans yang Anda luncurkan.

Anda juga dapat memeriksa CloudTrail catatan Anda di bucket S3 yang Anda tentukan untuk jejak Anda. Untuk informasi selengkapnya, lihat Mendapatkan dan Melihat CloudTrail Log Files Anda di PanduanAWS CloudTrail Pengguna.

Langkah 5: Mengonfirmasi keberhasilan

Jika Anda melihat peristiwa Lambda di CloudWatch log, Anda telah berhasil menyelesaikan tutorial ini. Jika peristiwa tersebut tidak ada di CloudWatch Log (Lambda), mulai pemecahan masalah aturan berhasil dibuat dan, jika aturan terlihat benar, verifikasi kode fungsi Lambda Anda benar.

Langkah 6: Bersihkan sumber daya Anda

Sekarang Anda dapat menghapus sumber daya yang Anda buat untuk tutorial ini, kecuali Anda ingin mempertahankan itu. Dengan menghapus AWS sumber daya AWS yang tidak lagi Anda gunakan, Anda mencegah biaya yang tidak perlu di AWS akun Anda.

Untuk menghapus EventBridge aturan
  1. Buka halaman Aturan EventBridge konsol.

  2. Pilih aturan yang Anda buat.

  3. Pilih Hapus.

  4. Pilih Hapus.

Untuk menghapus fungsi Lambda
  1. Buka halaman Fungsi di konsol Lambda.

  2. Pilih fungsi yang Anda buat.

  3. Pilih Tindakan, Hapus.

  4. Pilih Hapus.

Untuk menghapus CloudTrail jejak
  1. Buka halaman Trails CloudTrail konsol.

  2. Pilih jenis yang Anda buat.

  3. Pilih Hapus.

  4. Pilih Hapus.