Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Membuat dan mengonfigurasi pemetaan sumber acara Amazon SQS
Untuk memproses pesan Amazon SQS dengan Lambda, konfigurasikan antrian Anda dengan pengaturan yang sesuai, lalu buat pemetaan sumber peristiwa Lambda.
Topik
Mengonfigurasi antrean untuk digunakan dengan Lambda
Jika Anda belum memiliki antrian Amazon SQS yang ada, buat satu untuk berfungsi sebagai sumber peristiwa untuk fungsi Lambda Anda. Fungsi Lambda dan antrian Amazon SQS harus sama Wilayah AWS, meskipun bisa berbeda. Akun AWS
Untuk memungkinkan waktu fungsi Anda memproses setiap kumpulan catatan, setel batas waktu visibilitas antrian sumber menjadi setidaknya enam kali batas waktu konfigurasi pada fungsi Anda. Waktu tambahan memungkinkan Lambda untuk mencoba lagi jika fungsi Anda dibatasi saat memproses batch sebelumnya.
catatan
Waktu tunggu fungsi Anda harus kurang dari atau sama dengan batas waktu visibilitas antrian. Lambda memvalidasi persyaratan ini saat Anda membuat atau memperbarui pemetaan sumber peristiwa dan mengembalikan kesalahan jika batas waktu fungsi melebihi batas waktu visibilitas antrian.
Secara default, jika Lambda menemukan kesalahan pada titik mana pun saat memproses batch, semua pesan dalam batch tersebut kembali ke antrian. Setelah batas waktu visibilitas, pesan menjadi terlihat oleh Lambda lagi. Anda dapat mengonfigurasi pemetaan sumber peristiwa untuk menggunakan respons batch parSIAL untuk mengembalikan hanya pesan yang gagal kembali ke antrian.
Selain itu, jika fungsi Anda gagal memproses pesan beberapa kali, Amazon SQS dapat mengirimkannya ke antrian huruf mati. Sebaiknya setel kebijakan redrive maxReceiveCount pada antrian sumber Anda ke minimal 5. Ini memberi Lambda beberapa kesempatan untuk mencoba lagi sebelum mengirim pesan yang gagal langsung ke antrian huruf mati.
Menyiapkan izin peran eksekusi Lambda
Kebijakan ter AWSLambdaSQSQueueExecutionRole AWS kelola mencakup izin yang perlu dibaca Lambda dari antrian Amazon SQS Anda. Anda dapat menambahkan kebijakan terkelola ini ke peran eksekusi fungsi Anda.
Secara opsional, jika Anda menggunakan antrian terenkripsi, Anda juga perlu menambahkan izin berikut ke peran eksekusi Anda:
Membuat pemetaan sumber peristiwa SQS
Buat pemetaan sumber kejadian untuk memberi tahu Lambda agar mengirim item dari antrean Anda ke fungsi Lambda. Anda dapat membuat beberapa pemetaan sumber kejadian untuk memproses item dari beberapa antrean dengan satu fungsi. Ketika Lambda memanggil fungsi target, kejadian dapat berisi beberapa item, hingga ukuran batch maksimum yang dapat dikonfigurasi.
Untuk mengonfigurasi fungsi Anda untuk membaca dari Amazon SQS, lampirkan kebijakan ter AWSLambdaSQSQueueExecutionRole AWS kelola ke peran eksekusi Anda. Kemudian, buat pemetaan sumber peristiwa SQS dari konsol menggunakan langkah-langkah berikut.
Untuk menambahkan izin dan membuat pemicu
Buka Halaman fungsi
di konsol Lambda. -
Pilih nama sebuah fungsi.
-
Pilih tab Konfigurasi, lalu pilih Izin.
-
Di bawah Nama peran, pilih tautan ke peran eksekusi Anda. Tautan ini membuka peran di konsol IAM.
-
Pilih Tambah izin, lalu pilih Lamp irkan kebijakan.
-
Di bidang pencarian, masukkan
AWSLambdaSQSQueueExecutionRole. Tambahkan kebijakan ini ke peran eksekusi Anda. Ini adalah kebijakan ter AWS kelola yang berisi izin yang perlu dibaca fungsi Anda dari antrian Amazon SQS. Untuk informasi selengkapnya tentang kebijakan ini, lihat AWSLambdaSQSQueueExecutionRole di Referensi AWS Kebijakan Terkelola. -
Kembali ke fungsi Anda di konsol Lambda. Di bagian Gambaran umum fungsi, pilih Tambah pemicu.
-
Pilih jenis pemicu.
-
Konfigurasikan opsi yang diperlukan, lalu pilih Tam bah.
Lambda mendukung opsi konfigurasi berikut untuk sumber peristiwa Amazon SQS:
- Antrian SQS
-
Antrian Amazon SQS untuk membaca catatan. Fungsi Lambda dan antrian Amazon SQS harus sama Wilayah AWS, meskipun bisa berbeda. Akun AWS
- Aktifkan pemicu
-
Status pemetaan sumber peristiwa. Aktifkan pemicu dipilih secara default.
- Ukuran batch
-
Jumlah maksimum catatan untuk dikirim ke fungsi di setiap batch. Untuk antrian standar, ini bisa mencapai 10.000 catatan. Untuk antrian FIFO, maksimumnya adalah 10. Untuk ukuran batch lebih dari 10, Anda juga harus mengatur jendela batch (
MaximumBatchingWindowInSeconds) ke setidaknya 1 detik.Konfigurasikan batas waktu fungsi Anda
untuk memberikan waktu yang cukup untuk memproses seluruh batch item. Jika item membutuhkan waktu lama untuk diproses, pilih ukuran batch yang lebih kecil. Ukuran batch yang besar dapat meningkatkan efisiensi beban kerja yang sangat cepat atau memiliki banyak overhead. Jika Anda mengonfigur asi konkurensi yang dicadangkan pada fungsi Anda, tetapkan minimal lima eksekusi bersamaan untuk mengurangi kemungkinan kesalahan pembatasan saat Lambda memanggil fungsi Anda. Lambda meneruskan semua catatan dalam batch ke fungsi dalam satu panggilan, selama ukuran total peristiwa tidak melebihi kuota ukuran payload pemanggilan untuk pemang gilan sinkron (6 MB). Lambda dan Amazon SQS menghasilkan metadata untuk setiap catatan. Metadata tambahan ini dihitung terhadap ukuran muatan total dan dapat menyebabkan jumlah total catatan yang dikirim dalam batch menjadi lebih rendah dari ukuran batch yang Anda konfigurasi. Bidang metadata yang dikirim Amazon SQS dapat bervariasi panjangnya. Untuk informasi selengkapnya tentang bidang metadata Amazon SQS, lihat dokumentasi operasi ReceiveMessage API di Refer ensi API Layanan Antrian Sederhana Amazon.
- Jendela batch
-
Jumlah waktu maksimum untuk mengumpulkan rekaman sebelum memanggil fungsi, dalam hitungan detik. Ini hanya berlaku untuk antrian standar.
Jika Anda menggunakan jendela batch lebih dari 0 detik, Anda harus memperhitungkan peningkatan waktu pemrosesan dalam batas waktu visibilitas antrian Anda. Sebaiknya atur batas waktu visibilitas antrian Anda menjadi enam kali batas waktu fungsi Anda, ditambah nilai.
MaximumBatchingWindowInSecondsIni memungkinkan waktu untuk fungsi Lambda Anda memproses setiap batch peristiwa dan mencoba kembali jika terjadi kesalahan thrthrottling.Ketika pesan tersedia, Lambda mulai memproses pesan dalam batch. Lambda mulai memproses lima batch sekaligus dengan lima pemanggilan fungsi Anda secara bersamaan. Jika pesan masih tersedia, Lambda menambahkan hingga 300 panggilan bersamaan dari fungsi Anda per menit, hingga maksimum 1.250 panggilan bersamaan.
Saat menggunakan mode yang disediakan, setiap poller peristiwa dapat menangani hingga 1 MB/s throughput, hingga 10 panggilan bersamaan, atau hingga 10 panggilan API polling Amazon SQS per detik. Lambda menskalakan jumlah poller peristiwa antara minimum dan maksimum yang Anda konfigurasi, dengan cepat menambahkan hingga 1.000 panggilan bersamaan per menit untuk memberikan pemrosesan latensi rendah dari peristiwa Amazon SQS Anda. Anda mengontrol penskalaan dan konkurensi melalui pengaturan poller peristiwa minimum dan maksimum ini. Untuk mempelajari selengkapnya tentang penskalaan fungsi dan konkurensi, lihatMemahami penskalaan fungsi Lambda.
Untuk memproses lebih banyak pesan, Anda dapat mengoptimalkan fungsi Lambda untuk throughput yang lebih tinggi. Untuk informasi selengkapnya, lihat Mem ahami cara men AWS Lambda skalakan dengan antrian
standar Amazon SQS. - Kriteria filter
-
Tambahkan kriteria filter untuk mengontrol peristiwa mana yang dikirim Lambda ke fungsi Anda untuk diproses. Untuk informasi selengkapnya, lihat Kontrol peristiwa mana yang dikirim Lambda ke fungsi Anda.
- Konkurensi maksimum
-
Jumlah maksimum fungsi bersamaan yang dapat dipanggil oleh sumber peristiwa. Tidak dapat digunakan dengan Mode Penyediaan diaktifkan. Untuk informasi selengkapnya, lihat Mengkonfigurasi konkurensi maksimum untuk sumber acara Amazon SQS.
- Mode yang Disediakan
-
Saat diaktifkan, mengalokasikan sumber polling khusus untuk pemetaan sumber acara Anda. Anda dapat mengonfigurasi jumlah poller peristiwa minimum (2-200) dan maksimum (2-2000). Setiap poller peristiwa dapat menangani hingga 1 MB/sec throughput, hingga 10 panggilan bersamaan, atau hingga 10 panggilan API polling Amazon SQS per detik.
catatan
Catatan: Anda tidak dapat menggunakan Mode Penyediaan dan Konkurensi Maksimum bersama-sama. Saat Mode Penyediaan diaktifkan, gunakan setelan poller maksimum untuk mengontrol konkurensi.