Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Memproses rekaman Amazon Kinesis Data Streams dengan Lambda
Untuk memproses rekaman Amazon Kinesis Data Streams dengan Lambda, buat konsumen untuk streaming Anda, lalu buat pemetaan sumber peristiwa Lambda.
Mengonfigurasi aliran data dan fungsi Anda
Fungsi Lambda Anda adalah aplikasi konsumen untuk aliran data Anda. Itu memproses satu batch rekaman pada satu waktu dari setiap shard. Anda dapat memetakan fungsi Lambda ke konsumen dengan throughput bersama (iterator standar), atau ke konsumen dengan throughput khusus dengan keluaran yang ditingkatkan.
-
Iterator standar: Lambda melakukan polling di setiap shard dalam aliran Kinesis Anda sesuai rate dasar sebanyak satu kali per detik. Saat tersedia lebih banyak rekaman, Lambda melanjutkan pemrosesan batch sampai fungsi dapat menyusul aliran. Pemetaan sumber kejadian berbagi throughput baca dengan konsumen lain dari shard tersebut.
-
Penghematan yang ditingkatkan: Untuk meminimalkan latensi dan memaksimalkan throughput baca, buat konsumen aliran data dengan keluaran yang ditingkatkan. Konsumen dengan keluaran yang ditingkatkan mendapatkan koneksi khusus ke setiap shard yang tidak memengaruhi pembacaan aplikasi lain dari aliran tersebut. Konsumen aliran menggunakan HTTP /2 untuk mengurangi latensi dengan mendorong rekaman ke Lambda melalui koneksi yang sudah berlangsung lama dan dengan mengompresi header permintaan. Anda dapat membuat konsumen aliran dengan Kinesis RegisterStreamConsumerAPI.
aws kinesis register-stream-consumer \ --consumer-name con1 \ --stream-arn arn:aws:kinesis:us-east-2:123456789012:stream/lambda-stream
Anda akan melihat output berikut:
{ "Consumer": { "ConsumerName": "con1", "ConsumerARN": "arn:aws:kinesis:us-east-2:123456789012:stream/lambda-stream/consumer/con1:1540591608", "ConsumerStatus": "CREATING", "ConsumerCreationTimestamp": 1540591608.0 } }
Untuk meningkatkan kecepatan fungsi memproses rekaman, tambahkan shard ke aliran data Anda
Apabila fungsi Anda tidak dapat menskalakan naik untuk menangani jumlah total batch yang bersamaan, mintalah kenaikan kuota atau cadangkan konkurensi untuk fungsi Anda.
Buat pemetaan sumber peristiwa untuk menjalankan fungsi Lambda
Untuk menjalankan fungsi Lambda Anda dengan catatan dari aliran data Anda, buat pemetaan sumber peristiwa. Anda dapat membuat beberapa pemetaan sumber kejadian untuk memproses data yang sama dengan beberapa fungsi Lambda, atau untuk memproses item dari beberapa aliran data dengan satu fungsi. Saat memproses item dari beberapa aliran, setiap batch berisi catatan hanya dari satu pecahan atau aliran.
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.
Sebelum Anda membuat pemetaan sumber peristiwa, Anda perlu memberikan izin fungsi Lambda Anda untuk membaca dari aliran data Kinesis. Lambda memerlukan izin berikut untuk mengelola sumber daya yang terkait dengan aliran data Kinesis Anda:
Kebijakan AWS terkelola AWSLambdaKinesisExecutionRolemencakup izin ini. Tambahkan kebijakan terkelola ini ke fungsi Anda seperti yang dijelaskan dalam prosedur berikut.
Setelah mengonfigurasi izin yang diperlukan, buat pemetaan sumber peristiwa.
Posisi awal polling dan streaming
Ketahuilah bahwa polling streaming selama pembuatan dan pembaruan pemetaan sumber acara pada akhirnya konsisten.
-
Selama pembuatan pemetaan sumber peristiwa, mungkin diperlukan beberapa menit untuk memulai peristiwa polling dari aliran.
-
Selama pembaruan pemetaan sumber acara, mungkin diperlukan beberapa menit untuk menghentikan dan memulai kembali acara pemungutan suara dari aliran.
Perilaku ini berarti bahwa jika Anda menentukan LATEST
sebagai posisi awal untuk aliran, pemetaan sumber peristiwa dapat melewatkan peristiwa selama pembuatan atau pembaruan. Untuk memastikan bahwa tidak ada peristiwa yang terlewatkan, tentukan posisi awal aliran sebagai TRIM_HORIZON
atauAT_TIMESTAMP
.
Membuat pemetaan sumber peristiwa lintas akun
Amazon Kinesis Data Streams mendukung kebijakan berbasis sumber daya. Karena itu, Anda dapat memproses data yang dicerna ke dalam aliran dalam satu Akun AWS dengan fungsi Lambda di akun lain.
Untuk membuat pemetaan sumber peristiwa untuk fungsi Lambda Anda menggunakan aliran Kinesis yang Akun AWS berbeda, Anda harus mengonfigurasi aliran menggunakan kebijakan berbasis sumber daya untuk memberikan izin fungsi Lambda Anda untuk membaca item. Untuk mempelajari cara mengonfigurasi streaming agar memungkinkan akses lintas akun, lihat Berbagi akses dengan AWS Lambda fungsi lintas akun di panduan Pengembang Amazon Kinesis Streams.
Setelah mengonfigurasi aliran Anda dengan kebijakan berbasis sumber daya yang memberi fungsi Lambda Anda izin yang diperlukan, buat pemetaan sumber peristiwa menggunakan salah satu metode yang dijelaskan di bagian sebelumnya.
Jika Anda memilih untuk membuat pemetaan sumber acara menggunakan konsol Lambda, ARN tempelkan aliran langsung ke kolom input. Jika Anda ingin menentukan konsumen untuk streaming Anda, ARN menempelkan konsumen secara otomatis mengisi bidang aliran.