Memproses catatan DynamoDB dengan Lambda - AWS Lambda

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

Memproses catatan DynamoDB dengan Lambda

Buat pemetaan sumber kejadian untuk memberi tahu Lambda agar mengirim rekaman dari aliran Anda ke fungsi Lambda. Anda dapat membuat beberapa pemetaan sumber kejadian untuk memproses data yang sama dengan beberapa fungsi Lambda, atau untuk memproses item dari beberapa aliran dengan satu fungsi.

Anda dapat mengonfigurasi pemetaan sumber peristiwa untuk memproses catatan dari aliran yang berbeda. Akun AWS Untuk mempelajari selengkapnya, lihat Membuat pemetaan sumber peristiwa lintas akun.

Untuk mengonfigurasi fungsi agar dibaca dari DynamoDB Streams, lampirkan AWSLambda kebijakan terkelola AWS Peran DBExecutionDynamo ke peran eksekusi, lalu buat pemicu DynamoDB.

Untuk menambahkan izin dan membuat pemicu
  1. Buka Halaman fungsi di konsol Lambda.

  2. Pilih nama sebuah fungsi.

  3. Pilih tab Konfigurasi, lalu pilih Izin.

  4. Di bawah Nama peran, pilih tautan ke peran eksekusi Anda. Tautan ini membuka peran di konsol IAM.

    Tautan ke peran eksekusi
  5. Pilih Tambahkan izin, lalu pilih Lampirkan kebijakan.

    Lampirkan kebijakan di konsol IAM
  6. Di bidang pencarian, masukkanAWSLambdaDynamoDBExecutionRole. Tambahkan kebijakan ini ke peran eksekusi Anda. Ini adalah kebijakan AWS terkelola yang berisi izin yang perlu dibaca fungsi Anda dari aliran DynamoDB. Untuk informasi selengkapnya tentang kebijakan ini, lihat DBExecutionPeran AWSLambda Dynamo di Referensi Kebijakan AWS Terkelola.

  7. Kembali ke fungsi Anda di konsol Lambda. Di bagian Gambaran umum fungsi, pilih Tambah pemicu.

    Bagian ikhtisar fungsi dari konsol Lambda
  8. Pilih jenis pemicu.

  9. Konfigurasikan opsi yang diperlukan, lalu pilih Tambah.

Lambda mendukung opsi berikut untuk sumber acara DynamoDB:

Opsi sumber kejadian
  • Tabel DynamoDB – Tabel DynamoDB tempat untuk membaca catatan.

  • Ukuran batch – Jumlah rekaman yang akan dikirimkan ke fungsi dalam setiap batch, paling banyak 10.000. Lambda meneruskan semua rekaman dalam batch ke fungsi dalam satu panggilan, selama ukuran total kejadian tidak melebihi batas payload untuk invokasi sinkron (6 MB).

  • Jendela batch – Tentukan jumlah waktu maksimum untuk mengumpulkan rekaman sebelum memanggil fungsi, dalam hitungan detik.

  • Posisi mulai – Hanya memproses rekaman baru, atau semua rekaman yang ada.

    • Terbaru – Memproses rekaman baru yang ditambahkan ke stream.

    • Trim horizon – Memproses semua rekaman dalam aliran.

    Setelah memproses rekaman yang sudah ada, fungsi berhenti dan melanjutkan memproses rekaman baru.

  • Tujuan kegagalan — Antrian SQS standar atau topik SNS standar untuk catatan yang tidak dapat diproses. Ketika Lambda membuang sekumpulan catatan yang terlalu tua atau telah kehabisan semua percobaan ulang, Lambda mengirimkan detail tentang batch ke antrian atau topik.

  • Percobaan ulang – Jumlah maksimum percobaan ulang Lambda saat fungsi memunculkan kesalahan. Hal ini tidak berlaku untuk kesalahan layanan atau pembatasan di mana batch tidak mencapai fungsi.

  • Maximum age of record – Usia maksimum rekaman yang dikirimkan Lambda ke fungsi Anda.

  • Split batch on error – Ketika fungsi mengembalikan kesalahan, bagi batch menjadi dua bagian sebelum mencoba kembali. Pengaturan ukuran batch asli Anda tetap tidak berubah.

  • Batch bersamaan per pecahan — Secara bersamaan memproses beberapa batch dari pecahan yang sama.

  • Diaktifkan – Atur ke true untuk mengaktifkan pemetaan sumber kejadian. Atur ke false untuk menghentikan pemrosesan rekaman. Lambda mencatat rekaman terakhir yang diproses dan melanjutkan pemrosesan dari titik tersebut saat pemetaan diaktifkan kembali.

catatan

Anda tidak dikenakan biaya untuk panggilan GetRecords API yang dipanggil oleh Lambda sebagai bagian dari pemicu DynamoDB.

Untuk mengelola konfigurasi sumber kejadian nanti, pilih pemicu di desainer.

Membuat pemetaan sumber peristiwa lintas akun

Amazon DynamoDB sekarang mendukung kebijakan berbasis sumber daya. Dengan kemampuan ini, Anda dapat memproses data dari aliran DynamoDB menjadi satu Akun AWS dengan fungsi Lambda di akun lain.

Untuk membuat pemetaan sumber peristiwa untuk fungsi Lambda menggunakan aliran DynamoDB di tempat Akun AWS lain, Anda harus mengonfigurasi aliran menggunakan kebijakan berbasis sumber daya untuk memberikan izin fungsi Lambda Anda untuk membaca catatan. Untuk mempelajari cara mengonfigurasi streaming untuk akses lintas akun, lihat Berbagi akses dengan fungsi Lambda lintas akun di Panduan Pengembang Amazon DynamoDB.

Setelah mengonfigurasi streaming Anda dengan kebijakan berbasis sumber daya yang memberi fungsi Lambda Anda izin yang diperlukan, buat pemetaan sumber peristiwa dengan ARN aliran lintas akun Anda. Anda dapat menemukan ARN streaming di bawah tab Ekspor dan aliran tabel di konsol DynamoDB lintas akun.

Saat menggunakan konsol Lambda, rekatkan ARN aliran langsung ke bidang input tabel DynamoDB di halaman pembuatan pemetaan sumber peristiwa.

Catatan: Pemicu lintas wilayah tidak didukung.