Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
DynamoDB Streams dan Waktu untuk Tayang
Anda dapat mencadangkan, atau memproses, item yang dihapus oleh Time to Live (TTL) dengan mengaktifkan Amazon DynamoDB Streams pada tabel dan memproses catatan aliran item kedaluwarsa. Untuk informasi selengkapnya, lihat Membaca dan memproses aliran.
Catatan stream berisi bidang identitas pengguna Records[
.<index>
].userIdentity
Item yang dihapus oleh proses Waktu untuk Tayang setelah kedaluwarsa memiliki bidang berikut:
-
Records[
<index>
].userIdentity.type"Service"
-
Records[
<index>
].userIdentity.principalId"dynamodb.amazonaws.com"
catatan
Ketika Anda menggunakan TTL dalam tabel global, wilayah yang TTL dilakukan akan memiliki userIdentity
bidang yang ditetapkan. Bidang ini tidak akan disetel di wilayah lain saat penghapusan direplikasi.
Berikut ini JSON menunjukkan bagian yang relevan dari catatan aliran tunggal.
"Records": [ { ... "userIdentity": { "type": "Service", "principalId": "dynamodb.amazonaws.com" } ... } ]
Menggunakan DynamoDB Streams dan Lambda untuk mengarsipkan item yang dihapus TTL
Menggabungkan DynamoDB Time to Live TTL (), DynamoDB Streams, dan Lambda dapat membantu menyederhanakan pengarsipan data, mengurangi biaya AWS penyimpanan DynamoDB, danGetRecords
API panggilan di aliran DynamoDB saat menggunakan Lambda untuk mengkonsumsi peristiwa, dan Lambda dapat menyediakan pemfilteran peristiwa dengan mengidentifikasi pola dalam peristiwa streaming. JSON Dengan pemfilteran konten pola peristiwa, Anda dapat menentukan hingga lima filter berbeda untuk mengontrol peristiwa mana yang dikirim ke Lambda untuk diproses. Hal ini membantu mengurangi pemanggilan fungsi Lambda Anda, menyederhanakan kode, dan mengurangi biaya keseluruhan.
Meskipun DynamoDB Streams berisi semua modifikasi data, seperti tindakan Create
, Modify
, dan Remove
, hal ini dapat mengakibatkan pemanggilan yang tidak diinginkan pada fungsi Lambda arsip Anda. Misalnya, Anda memiliki tabel dengan 2 juta modifikasi data per jam yang mengalir ke aliran, tetapi kurang dari 5 persen di antaranya adalah penghapusan item yang akan kedaluwarsa melalui TTL proses dan perlu diarsipkan. Dengan filter sumber acara Lambda, fungsi Lambda hanya akan dipanggil 100.000 kali per jam. Hasil dari pemfilteran peristiwa adalah Anda hanya dikenakan biaya untuk pemanggilan yang diperlukan, bukan 2 juta pemanggilan yang akan Anda dapatkan tanpa pemfilteran peristiwa.
Pemfilteran peristiwa diterapkan pada pemetaan sumber peristiwa Lambda, yang merupakan sumber daya yang membaca dari peristiwa yang dipilih—aliran DynamoDB—dan memanggil fungsi Lambda. Dalam diagram berikut, Anda dapat melihat bagaimana item Time to Live yang dihapus digunakan oleh fungsi Lambda menggunakan aliran dan filter peristiwa.

Pola filter peristiwa DynamoDB Waktu untuk Tayang
Menambahkan yang berikut ini JSON ke kriteria filter pemetaan sumber peristiwa memungkinkan pemanggilan fungsi Lambda Anda hanya untuk item yang dihapus: TTL
{ "Filters": [ { "Pattern": { "userIdentity": { "type": ["Service"], "principalId": ["dynamodb.amazonaws.com"] } } } ] }
Buat pemetaan sumber AWS Lambda acara
Gunakan cuplikan kode berikut untuk membuat pemetaan sumber peristiwa terfilter yang dapat Anda sambungkan ke aliran DynamoDB tabel. Setiap blok kode menyertakan pola filter peristiwa.