

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
<a name="eb-log-s3-data-events"></a>

Anda dapat mencatat operasi API tingkat objek pada bucket [Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) Sebelum Amazon EventBridge dapat mencocokkan [peristiwa](eb-events.md) ini, Anda harus menggunakan [AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html)untuk mengatur dan mengonfigurasi jejak untuk menerima acara ini.

Dalam tutorial ini, Anda membuat CloudTrail jejak, membuat [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html)fungsi, dan kemudian membuat [aturan](eb-rules.md) di EventBridge konsol yang memanggil fungsi tersebut sebagai respons terhadap peristiwa data S3.

**Topics**
+ [Langkah 1: Konfigurasikan AWS CloudTrail jejak Anda](#eb-configure-trail)
+ [Langkah 2: Buat AWS Lambda fungsi](#eb-log-s3-create-lambda-function)
+ [Langkah 3: Buat Aturan](#eb-log-s3-create-rule)
+ [Langkah 4: Uji Aturan](#eb-log-s3-test-rule)
+ [Langkah 5: Mengonfirmasi keberhasilan](#success)
+ [Langkah 6: Bersihkan sumber daya Anda](#cleanup)

## Langkah 1: Konfigurasikan AWS CloudTrail jejak Anda
<a name="eb-configure-trail"></a>

Untuk mencatat peristiwa data untuk bucket S3 ke AWS CloudTrail dan EventBridge, Anda terlebih dahulu 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](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-management-and-data-events-with-cloudtrail.html#logging-data-events) dalam *AWS CloudTrail Panduan Pengguna*. 

**Untuk membuat jejak**

1. Buka CloudTrail konsol di [https://console.aws.amazon.com/cloudtrail/](https://console.aws.amazon.com/cloudtrail/).

1. Pilih **Jejak**, **Buat jejak**.

1. Untuk **Nama jejak**, ketikkan nama untuk jejak.

1. Untuk **Lokasi penyimpanan**, di **Buat bucket S3 baru**.

1. Untuk **AWS KMS alias**, ketik alias untuk bukti kunci KMS.

1. Pilih **Berikutnya**.

1. Untuk **Jenis kejadian**, pilih**Kejadian data**

1. 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.

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

1. Pilih **Berikutnya**.

1. Pilih **Buat jejak**.

## Langkah 2: Buat AWS Lambda fungsi
<a name="eb-log-s3-create-lambda-function"></a>

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/](https://console.aws.amazon.com/lambda/).

1. Pilih **Buat fungsi**.

1. Pilih **Tulis dari scratch**.

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

1. Tinggalkan sisa pilihan sebagai default dan pilih **Buat fungsi**.

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

1. 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');
   };
   ```

1. Pilih **Men-deploy**.

## Langkah 3: Buat Aturan
<a name="eb-log-s3-create-rule"></a>

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/](https://console.aws.amazon.com/events/).

1. Di panel navigasi, pilih **Aturan**.

1. Pilih **Buat aturan**.

1. Masukkan nama dan deskripsi aturan. Misalnya, beri nama aturan `TestRule`

1. 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.

1. Untuk **Tipe aturan**, pilih **Aturan dengan pola peristiwa**.

1. Pilih **Selanjutnya**.

1. Untuk **Sumber peristiwa**, pilih **Layanan AWS **.

1. Untuk **Pola peristiwa**, lakukan hal berikut:

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

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

   1. Pilih **Operasi spesifik**, lalu pilih **PutObject**.

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

1. Pilih **Berikutnya**.

1. Untuk **Jenis target**, pilih **Layanan AWS **.

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

1. Untuk **Fungsi**, pilih fungsi `LogS3DataEvents` Lambda yang Anda buat di langkah 1.

1. Pilih **Berikutnya**.

1. Pilih **Berikutnya**.

1. Tinjau detail aturan dan pilih **Buat aturan**.

## Langkah 4: Uji Aturan
<a name="eb-log-s3-test-rule"></a>

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/](https://console.aws.amazon.com/cloudwatch/).

1. Di panel navigasi, pilih **Log**.

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

1. 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](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/get-and-view-cloudtrail-log-files.html) di *Panduan AWS CloudTrail Pengguna*.

## Langkah 5: Mengonfirmasi keberhasilan
<a name="success"></a>

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
<a name="cleanup"></a>

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](https://console.aws.amazon.com/events/home#/rules) EventBridge konsol.

1. Pilih aturan yang Anda buat.

1. Pilih **Hapus**.

1. Pilih **Hapus**.

**Untuk menghapus fungsi Lambda**

1. Buka [halaman Fungsi](https://console.aws.amazon.com/lambda/home#/functions) di konsol Lambda.

1. Pilih fungsi yang Anda buat.

1. Pilih **Tindakan**, **Hapus**.

1. Pilih **Hapus**.

**Untuk menghapus CloudTrail jejak**

1. Buka [halaman Trails](https://console.aws.amazon.com/cloudtrail/home#/trails) CloudTrail konsol.

1. Pilih jejak yang Anda buat.

1. Pilih **Hapus**.

1. Pilih **Hapus**.