Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Mengirimkan data DynamoDB ke Amazon S3 menggunakan Kinesis Data Streams dan Firehose dengan AWS CDK
Shashank Shrivastava dan Daniel Matuki da Cunha, Amazon Web Services
Ringkasan
Pola ini menyediakan contoh kode dan aplikasi untuk mengirimkan catatan dari Amazon DynamoDB ke Amazon Simple Storage Service (Amazon S3) Simple Storage Service (Amazon S3) dengan menggunakan Amazon Kinesis Data Streams dan Amazon Data Firehose. Pendekatan pola menggunakan konstruksi AWS Cloud Development Kit (AWS CDK) L3 dan menyertakan contoh cara melakukan transformasi data AWS Lambda sebelum data dikirim ke bucket S3 target di Amazon Web Services ()AWS Cloud.
Kinesis Data Streams merekam modifikasi tingkat item dalam tabel DynamoDB dan mereplikasi mereka ke aliran data Kinesis yang diperlukan. Aplikasi Anda dapat mengakses Kinesis data stream dan melihat perubahan tingkat item dalam hampir waktu nyata. Kinesis Data Streams juga menyediakan akses ke layanan Amazon Kinesis lainnya, seperti Firehose dan Amazon Managed Service untuk Apache Flink. Ini berarti Anda dapat membangun aplikasi yang menyediakan dasbor waktu nyata, menghasilkan peringatan, menerapkan harga dan iklan dinamis, dan melakukan analisis data yang canggih.
Anda dapat menggunakan pola ini untuk kasus penggunaan integrasi data Anda. Misalnya, kendaraan transportasi atau peralatan industri dapat mengirim volume data yang tinggi ke tabel DynamoDB. Data ini kemudian dapat diubah dan disimpan di danau data yang dihosting di Amazon S3. Anda kemudian dapat menanyakan dan memproses data dan memprediksi potensi cacat dengan menggunakan layanan tanpa server seperti Amazon Athena, Amazon Redshift Spectrum, Amazon Rekognition, dan. AWS Glue
Prasyarat dan batasan
Prasyarat
Aktif Akun AWS.
AWS Command Line Interface (AWS CLI), diinstal dan dikonfigurasi. Untuk informasi selengkapnya, lihat AWS CLI Memulai dengan AWS CLI dokumentasi.
Node.js (18.x +) dan npm, diinstal dan dikonfigurasi. Untuk informasi selengkapnya, lihat Mengunduh dan menginstal Node.js dan npm
di npmdokumentasi.aws-cdk (2.x +), diinstal dan dikonfigurasi. Untuk informasi selengkapnya, lihat AWS CDK Memulai dengan AWS CDK dokumentasi.
Repositori GitHub aws-dynamodb-kinesisfirehose-s3-ingestion, dikloning
dan dikonfigurasi pada mesin lokal Anda. Data sampel yang ada untuk tabel DynamoDB. Data harus menggunakan format berikut:
{"SourceDataId": {"S": "123"},"MessageData":{"S": "Hello World"}}
Arsitektur
Diagram berikut menunjukkan contoh alur kerja untuk mengirimkan catatan dari DynamoDB ke Amazon S3 dengan menggunakan Kinesis Data Streams dan Firehose.

Diagram menunjukkan alur kerja berikut:
Data dicerna menggunakan Amazon API Gateway sebagai proxy untuk DynamoDB. Anda juga dapat menggunakan sumber lain untuk menyerap data ke DynamoDB.
Perubahan tingkat item dihasilkan dalam waktu nyaris real time di Kinesis Data Streams untuk pengiriman ke Amazon S3.
Kinesis Data Streams mengirimkan catatan ke Firehose untuk transformasi dan pengiriman.
Fungsi Lambda mengonversi catatan dari format rekaman DynamoDB ke format JSON, yang hanya berisi nama dan nilai atribut item rekaman.
Alat
Layanan AWS
AWS Cloud Development Kit (AWS CDK)adalah kerangka kerja pengembangan perangkat lunak yang membantu Anda menentukan dan menyediakan infrastruktur AWS Cloud dalam kode.
AWS CDK Toolkit adalah kit pengembangan cloud baris perintah yang membantu Anda berinteraksi dengan AWS CDK aplikasi Anda.
AWS Command Line Interface (AWS CLI) adalah alat sumber terbuka yang membantu Anda berinteraksi Layanan AWS melalui perintah di shell baris perintah Anda.
AWS CloudFormationmembantu Anda menyiapkan AWS sumber daya, menyediakannya dengan cepat dan konsisten, dan mengelolanya sepanjang siklus hidupnya di seluruh Akun AWS dan. Wilayah AWS
Repositori kode
Kode untuk pola ini tersedia di repositori GitHub aws-dynamodb-kinesisfirehose-s3-konsumsi
Epik
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Instal dependensi. | Di mesin lokal Anda, instal dependensi dari
| Pengembang aplikasi, AWS Umum |
Hasilkan CloudFormation template. |
| Pengembang aplikasi, AWS Umum, AWS DevOps |
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Periksa dan gunakan sumber daya. |
| Pengembang aplikasi, AWS Umum, AWS DevOps |
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Menyerap data sampel Anda ke dalam tabel DynamoDB. | Kirim permintaan ke tabel DynamoDB Anda dengan menjalankan perintah berikut di: AWS CLI
contoh:
Secara default, catatanAnda menggunakan pendekatan yang berbeda untuk menambahkan data ke dalam tabel DynamoDB. Untuk informasi selengkapnya, lihat Memuat data ke dalam tabel dalam dokumentasi DynamoDB. | Pengembang aplikasi |
Verifikasi bahwa objek baru dibuat di bucket S3. | Masuk ke AWS Management Console dan pantau bucket S3 untuk memverifikasi bahwa objek baru dibuat dengan data yang Anda kirim. Untuk informasi selengkapnya, lihat GetObjectdi dokumentasi Amazon S3. | Pengembang aplikasi, AWS Umum |
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Pembersihan sumber daya | Jalankan | Pengembang aplikasi, AWS Umum |