Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Amazon Kinesis
Menggunakan Layanan Terkelola Amazon untuk Apache Flink
Anda dapat mengirim data dari Kinesis Data Streams ke LiveAnalytics Timestream untuk menggunakan konektor data sampel untuk Managed Timestream Service for Apache Flink. Lihat Apache Flink Layanan Terkelola Amazon untuk Apache Flink untuk informasi lebih lanjut.
Menggunakan EventBridge Pipa untuk mengirim data Kinesis ke Timestream
Anda dapat menggunakan EventBridge Pipes untuk mengirim data dari aliran Kinesis ke Amazon LiveAnalytics Timestream untuk tabel.
Pipa dimaksudkan untuk point-to-point integrasi antara sumber dan target yang didukung, dengan dukungan untuk transformasi dan pengayaan lanjutan. Pipa mengurangi kebutuhan akan pengetahuan khusus dan kode integrasi saat mengembangkan arsitektur berbasis peristiwa. Untuk menyiapkan pipa, Anda memilih sumber, menambahkan pemfilteran opsional, menentukan pengayaan opsional, dan memilih target untuk data peristiwa.
Integrasi ini memungkinkan Anda untuk memanfaatkan kekuatan kemampuan analisis data deret waktu, sekaligus menyederhanakan saluran konsumsi data Anda. Timestream
Menggunakan EventBridge Pipa dengan Timestream menawarkan manfaat sebagai berikut:
Penyerapan Data Real-time: Streaming data dari Kinesis langsung ke Timestream untuk LiveAnalytics, memungkinkan analisis dan pemantauan waktu nyata.
Integrasi Seamless: Memanfaatkan EventBridge Pipa untuk mengelola aliran data tanpa perlu integrasi kustom yang kompleks.
Penyaringan dan Transformasi yang Ditingkatkan: Saring atau ubah catatan Kinesis sebelum disimpan Timestream untuk memenuhi persyaratan pemrosesan data spesifik Anda.
Skalabilitas: Menangani aliran data throughput tinggi dan memastikan pemrosesan data yang efisien dengan paralelisme bawaan dan kemampuan batching.
Konfigurasi
Untuk menyiapkan EventBridge Pipe untuk mengalirkan data dari Kinesis ke Timestream, ikuti langkah-langkah berikut:
Buat aliran Kinesis
Pastikan Anda memiliki aliran data Kinesis aktif dari mana Anda ingin menelan data.
Buat Timestream database dan tabel
Siapkan Timestream database dan tabel tempat data akan disimpan.
Konfigurasikan EventBridge Pipa:
Sumber: Pilih aliran Kinesis Anda sebagai sumbernya.
Target: Pilih Timestream sebagai target.
Pengaturan Batching: Tentukan jendela batching dan ukuran batch untuk mengoptimalkan pemrosesan data dan mengurangi latensi.
penting
Saat menyiapkan pipa, kami sarankan untuk menguji kebenaran semua konfigurasi dengan menelan beberapa catatan. Harap dicatat bahwa pembuatan pipa yang berhasil tidak menjamin bahwa pipa sudah benar dan data akan mengalir tanpa kesalahan. Mungkin ada kesalahan runtime, seperti tabel yang salah, parameter jalur dinamis yang salah, atau Timestream catatan tidak valid setelah menerapkan pemetaan, yang akan ditemukan ketika data aktual mengalir melalui pipa.
Konfigurasi berikut menentukan tingkat di mana data dicerna:
BatchSize: Ukuran maksimum batch yang akan dikirim ke Timestream untuk LiveAnalytics. Rentang: 0 - 100. Rekomendasi adalah untuk menjaga nilai ini sebagai 100 untuk mendapatkan throughput maksimum.
MaximumBatchingWindowInSeconds: Waktu maksimum menunggu untuk mengisi BatchSize sebelum batch dikirim ke Timestream untuk target. LiveAnalytics Bergantung pada tingkat kejadian yang masuk, konfigurasi ini akan menentukan penundaan konsumsi, rekomendasinya adalah menjaga nilai ini < 10 detik untuk terus mengirim data dalam waktu dekat. Timestream
ParallelizationFactor: Jumlah batch yang akan diproses secara bersamaan dari setiap pecahan. Rekomendasi adalah menggunakan nilai maksimum 10 untuk mendapatkan throughput maksimum dan mendekati konsumsi real-time.
Jika aliran Anda dibaca oleh beberapa target, gunakan fan-out yang disempurnakan untuk menyediakan konsumen khusus ke pipa Anda untuk mencapai throughput yang tinggi. Untuk informasi selengkapnya, lihat Mengembangkan konsumen fan-out yang disempurnakan dengan Kinesis Data Streams API di Kinesis Data Streams Panduan Pengguna.
catatan
Throughput maksimum yang dapat dicapai dibatasi oleh eksekusi pipa bersamaan per akun.
Konfigurasi berikut memastikan pencegahan kehilangan data:
DeadLetterConfig: Rekomendasi adalah untuk selalu mengkonfigurasi DeadLetterConfig untuk menghindari kehilangan data untuk kasus ketika peristiwa tidak dapat dicerna ke Timestream LiveAnalytics karena kesalahan pengguna.
Optimalkan kinerja pipa Anda dengan pengaturan konfigurasi berikut, yang membantu mencegah catatan menyebabkan perlambatan atau penyumbatan.
MaximumRecordAgeInSeconds: Catatan yang lebih tua dari ini tidak akan diproses dan akan langsung dipindahkan ke DLQ. Sebaiknya atur nilai ini tidak lebih tinggi dari periode retensi penyimpanan Memori yang dikonfigurasi dari Timestream tabel target.
MaximumRetryAttempts: Jumlah percobaan ulang untuk catatan sebelum catatan dikirim ke DeadLetterQueue. Rekomendasi adalah untuk mengkonfigurasi ini pada 10. Ini harus dapat membantu mengatasi masalah sementara dan untuk masalah yang terus-menerus, catatan akan dipindahkan ke DeadLetterQueue dan membuka blokir sisa aliran.
OnPartialBatchItemFailure: Untuk sumber yang mendukung pemrosesan batch sebagian, kami sarankan Anda untuk mengaktifkan ini dan mengonfigurasinya sebagai AUTOMATIC_BISECT untuk mencoba lagi tambahan catatan yang gagal sebelum menjatuhkan/mengirim ke DLQ.
Contoh konfigurasI
Berikut adalah contoh cara mengkonfigurasi EventBridge Pipe untuk mengalirkan data dari aliran Kinesis ke tabel: Timestream
contoh IAM pembaruan kebijakan untuk Timestream
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "timestream:WriteRecords" ], "Resource": [ "arn:aws:timestream:us-east-1:123456789012:database/my-database/table/my-table" ] }, { "Effect": "Allow", "Action": [ "timestream:DescribeEndpoints" ], "Resource": "*" } ] }
contoh Konfigurasi aliran Kinesis
{ "Source": "arn:aws:kinesis:us-east-1:123456789012:stream/my-kinesis-stream", "SourceParameters": { "KinesisStreamParameters": { "BatchSize": 100, "DeadLetterConfig": { "Arn": "arn:aws:sqs:us-east-1:123456789012:my-sqs-queue" }, "MaximumBatchingWindowInSeconds": 5, "MaximumRecordAgeInSeconds": 1800, "MaximumRetryAttempts": 10, "StartingPosition": "LATEST", "OnPartialBatchItemFailure": "AUTOMATIC_BISECT" } } }
contoh Timestream konfigurasi target
{ "Target": "arn:aws:timestream:us-east-1:123456789012:database/my-database/table/my-table", "TargetParameters": { "TimestreamParameters": { "DimensionMappings": [ { "DimensionName": "sensor_id", "DimensionValue": "$.data.device_id", "DimensionValueType": "VARCHAR" }, { "DimensionName": "sensor_type", "DimensionValue": "$.data.sensor_type", "DimensionValueType": "VARCHAR" }, { "DimensionName": "sensor_location", "DimensionValue": "$.data.sensor_loc", "DimensionValueType": "VARCHAR" } ], "MultiMeasureMappings": [ { "MultiMeasureName": "readings", "MultiMeasureAttributeMappings": [ { "MultiMeasureAttributeName": "temperature", "MeasureValue": "$.data.temperature", "MeasureValueType": "DOUBLE" }, { "MultiMeasureAttributeName": "humidity", "MeasureValue": "$.data.humidity", "MeasureValueType": "DOUBLE" }, { "MultiMeasureAttributeName": "pressure", "MeasureValue": "$.data.pressure", "MeasureValueType": "DOUBLE" } ] } ], "SingleMeasureMappings": [], "TimeFieldType": "TIMESTAMP_FORMAT", "TimestampFormat": "yyyy-MM-dd HH:mm:ss.SSS", "TimeValue": "$.data.time", "VersionValue": "$.approximateArrivalTimestamp" } } }
Transformasi acara
EventBridge Pipa memungkinkan Anda untuk mengubah data sebelum mencapai Timestream. Anda dapat menentukan aturan transformasi untuk memodifikasi Kinesis catatan yang masuk, seperti mengubah nama bidang.
Misalkan Kinesis aliran Anda berisi data suhu dan kelembaban. Anda dapat menggunakan EventBridge transformasi untuk mengganti nama bidang ini sebelum memasukkannya ke dalam. Timestream
Praktik terbaik
Batching dan Buffering
Konfigurasikan jendela dan ukuran batching untuk menyeimbangkan antara latensi tulis dan efisiensi pemrosesan.
Gunakan jendela batching untuk mengumpulkan data yang cukup sebelum diproses, mengurangi overhead dari batch kecil yang sering.
Pemrosesan Paralel
Manfaatkan ParallelizationFactorpengaturan untuk meningkatkan konkurensi, terutama untuk aliran throughput tinggi. Ini memastikan bahwa beberapa batch dari setiap pecahan dapat diproses secara bersamaan.
Transformasi Data
Memanfaatkan kemampuan transformasi EventBridge Pipa untuk menyaring dan meningkatkan catatan sebelum menyimpannya Timestream. Ini dapat membantu menyelaraskan data dengan persyaratan analitis Anda.
Keamanan
Pastikan bahwa peran IAM yang digunakan untuk EventBridge Pipes memiliki izin yang diperlukan untuk membaca Kinesis dan menulis. Timestream
Gunakan enkripsi dan langkah-langkah kontrol akses untuk mengamankan data dalam perjalanan dan saat istirahat.
Kegagalan debugging
-
Menonaktifkan Pipa Secara Otomatis
Pipa akan dinonaktifkan secara otomatis dalam waktu sekitar 2 jam jika target tidak ada atau memiliki masalah izin
-
Pembatasan
Pipa memiliki kemampuan untuk mundur dan mencoba kembali secara otomatis sampai throttle berkurang.
-
Mengaktifkan Log
Kami menyarankan Anda mengaktifkan Log pada tingkat ERROR dan menyertakan data eksekusi untuk mendapatkan lebih banyak wawasan tentang kegagalan. Setelah kegagalan, log ini akan berisi request/response sent/received dari Timestream. Ini membantu Anda memahami kesalahan yang terkait dan jika perlu memproses ulang catatan setelah memperbaikinya.
Pemantauan
Kami menyarankan Anda untuk mengatur alarm berikut ini untuk mendeteksi masalah apa pun dengan aliran data:
Usia Maksimum Catatan dalam Sumber
GetRecords.IteratorAgeMilliseconds
Metrik kegagalan dalam Pipa
ExecutionFailed
TargetStageFailed
Timestream Tulis kesalahan API
UserErrors
Untuk metrik pemantauan tambahan, lihat Pemantauan EventBridge di Panduan EventBridge Pengguna.