Tutorial: Log operasi tingkat objek Amazon S3 menggunakan EventBridge - Amazon EventBridge

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

Tutorial: Log operasi tingkat objek Amazon S3 menggunakan EventBridge

Anda dapat mencatat API operasi tingkat objek di bucket Amazon S3 Anda. Sebelum Amazon EventBridge dapat mencocokkan peristiwa ini, Anda harus menggunakan AWS CloudTrailuntuk mengatur dan mengonfigurasi jejak untuk menerima acara ini.

Dalam tutorial ini, Anda membuat CloudTrail jejak, membuat AWS Lambdafungsi, dan kemudian membuat aturan di EventBridge konsol yang memanggil fungsi tersebut sebagai respons terhadap peristiwa data S3.

Langkah 1: Konfigurasikan AWS CloudTrail jejak Anda

Untuk mencatat peristiwa data untuk bucket S3 ke AWS CloudTrail dan EventBridge, Anda terlebih dahulu membuat jejak. Jejak menangkap API panggilan dan peristiwa terkait di akun Anda, lalu 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 CloudTrail Panduan 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 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 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 aturan. Misalnya, beri nama aturan TestRule

  5. Untuk bus acara, pilih bus acara 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 Tipe aturan, pilih Aturan dengan pola peristiwa.

  7. Pilih Selanjutnya.

  8. Untuk Sumber peristiwa, pilih Layanan AWS .

  9. Untuk Pola peristiwa, 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 spesifik, 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 Layanan AWS .

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

  13. Untuk Fungsi, pilih fungsi LogS3DataEvents Lambda yang Anda buat 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 log Anda di bucket S3 yang Anda tentukan untuk jejak Anda. Untuk informasi selengkapnya, lihat Mendapatkan dan Melihat File CloudTrail Log Anda di Panduan AWS CloudTrail Pengguna.

Langkah 5: Mengonfirmasi keberhasilan

Jika Anda melihat peristiwa Lambda di CloudWatch log, Anda telah berhasil menyelesaikan tutorial ini. Jika peristiwa tidak ada di CloudWatch log Anda, mulailah pemecahan masalah dengan memverifikasi aturan berhasil dibuat dan, jika aturan terlihat benar, verifikasi kode fungsi Lambda Anda sudah 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 yang tidak lagi Anda gunakan, Anda mencegah tagihan yang tidak perlu ke 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 jejak yang Anda buat.

  3. Pilih Hapus.

  4. Pilih Hapus.