Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Pemecahan masalah pengiriman data
Gunakan bagian ini untuk menyelesaikan masalah umum dengan pengiriman data.
Pengiriman macet dalam status CREATING
Saat Anda membuat pengiriman, pengiriman memasuki status CREATING sementara sumber daya disediakan. Penyediaan biasanya selesai dalam beberapa menit. Jika pengiriman tetap di CREATING untuk jangka waktu yang lama atau transisi ke FAILED, kesalahan konfigurasi kemungkinan penyebabnya.
Panggil DescribeChannel untuk memeriksa status saat ini dan alasan status. Penyebab umum meliputi:
ARN peran IAM tidak valid atau izin tidak mencukupi dalam kebijakan peran.
Bucket Amazon S3 tujuan tidak ada atau berada di wilayah yang berbeda.
Skema ARN di AWS Glue Schema Registry tidak dapat diselesaikan.
Pengiriman dalam keadaan GAGAL
Anda tidak dapat memulihkan pengiriman yang FAILED (ChannelStatusseperti yang dikembalikan olehDescribeChannel). Baca ChannelStatusReason bidang dari DescribeChannel untuk mengidentifikasi akar penyebabnya. Perbaiki masalah yang mendasarinya, hapus pengiriman yang gagal, dan buat ulang dengan konfigurasi yang diperbaiki.
Kesegaran data yang tinggi
Met DataFreshness rik mengukur usia catatan tertua yang tidak terkirim. Nilai tinggi menunjukkan persalinan tertinggal dari konsumsi. Penyebab umum:
Jumlah partisi yang tinggi pada tabel tujuan meningkatkan overhead metadata.
Pertumbuhan metadata tabel dari banyak komit kecil mengurangi throughput komit.
Throughput aliran rendah dikombinasikan dengan pengaturan kesegaran rendah menyebabkan pengiriman kecil yang sering terjadi.
Resolusi: Untuk streaming tabel di Apache Iceberg, aktifkan pemeliharaan Tabel Amazon S3 (pemadatan dan kedaluwarsa snapshot) untuk mengelola pertumbuhan metadata. Untuk aliran throughput rendah, tingkatkan nil DataFreshnessInSeconds ainya untuk memungkinkan lebih banyak data dibatch untuk setiap siklus pengiriman.
Pengaturan kesegaran data yang paling ketat membutuhkan throughput aliran berkelanjutan minimum sehingga data yang cukup terakumulasi untuk pengiriman yang efisien dan pemadatan sebaris setiap siklus. Jika aliran Anda menghasilkan kurang dari throughput itu, gunakan DataFreshnessInSeconds nilai yang lebih tinggi.
Catatan gagal lebih besar dari nol
Jika metrik catatan gagal tidak nol (DeliveryToS3.FailedRecordCountuntuk pengiriman Amazon S3 atau DeliveryToIceberg.FailedRowCount untuk pengiriman tabel streaming), catatan dikirim ke antrian huruf mati alih-alih tujuan.
Untuk streaming tabel di Apache Iceberg:
Ketidakcocokan skema — catatan tidak sesuai dengan skema terdaftar.
Bidang wajib hilang — kolom yang tidak dapat dibatalkan tidak memiliki nilai dalam catatan.
Tidak menggunakan serializer S AWS Glue chema Registry untuk format GSR_JSON — produsen harus menggunakan pustaka produsen AWS Glue Schema Registry.
Untuk bucket Amazon S3 tujuan umum:
Ketidakcocokan format — format rekaman tidak cocok dengan format input yang dikonfigurasi.
Resolusi: Periksa entri antrian huruf mati untuk informasi kesalahan terperinci. Periksa CloudWatch Log untuk pengiriman untuk melihat kesalahan penguraian atau validasi tertentu. Perbaiki produsen untuk mengirim catatan yang sesuai.
Tidak ada data yang muncul di tujuan
Jika pengiriman dalam keadaan AKTIF tetapi tidak ada data yang muncul di tujuan, penyebab paling umum adalah:
Masalah izin — peran IAM tidak dapat menulis ke tujuan. Periksa CloudWatch Log untuk
AccessDeniedkesalahan.Ketidakcocokan awalan kunci keluaran (bucket Amazon S3 tujuan umum) — jika
s3:PutObjectizin Anda dicakup ke awalan sepertiarn:aws:s3:::my-bucket/data*, kunci yang dihasilkan oleh template kunci keluaran Anda harus dimulai dengan.data/Ketidakcocokan menyebabkan setiap tulisan ditolak.Izin tabel hilang (tabel streaming) — saat Anda mengenkripsi tabel tujuan dengan AWS KMS kunci yang dikelola pelanggan, verifikasi peran eksekusi layanan termasuk
s3tables:PutTableEncryptionselains3tablestindakan lainnya. Tanpa itu,CreateTableberhasil tetapi enkripsi tabel gagal, tabel tidak pernah dibuat, dan tidak ada data yang dikirimkan.Izin pencatatan hilang — jika peran eksekusi layanan
logs:PutLogEventskuranglogs:CreateLogStreamdan, kegagalan pengiriman tidak dicatat dalam CloudWatch Log, yang dapat membuat masalah izin muncul sebagai kegagalan diam. Verifikasi izin logging terlebih dahulu jika tidak ada log.Tidak ada data baru setelah pembuatan - pengiriman tidak mengisi ulang data yang ada dari aliran. Hanya catatan yang ditulis setelah pengiriman menjadi AKTIF yang dikirimkan.
Pengiriman ditangguhkan
Pengiriman memasuki keadaan ditangguhkan ketika tujuan menjadi tidak tersedia atau tidak kompatibel. Penyebab umum:
Tabel streaming di tabel tujuan Apache Iceberg telah dihapus.
Pemilik bucket Amazon S3 tidak cocok dengan akun yang diharapkan (ketidakcocokan kepemilikan).
Kolom partisi yang tidak kompatibel terdeteksi pada tabel tujuan.
Pengiriman yang ditangguhkan tidak dapat dilanjutkan. Anda harus membuat pengiriman baru dengan konfigurasi tujuan yang valid.
Kesalahan izin ditolak di CloudWatch Log
AccessDeniedkesalahan dalam Log pengiriman menunjukkan masalah izin. CloudWatch Penyebab umum:
Kebijakan peran IAM diubah setelah pengiriman dibuat.
Kebijakan bucket Amazon S3 diubah untuk menolak akses dari peran tersebut.
Kebijakan kepercayaan pada peran tidak mengizinkan layanan Kinesis Data Streams untuk menganggapnya.
Kebijakan AWS KMS kunci menolak mengenkripsi atau mendekripsi akses ke peran pengiriman.
Tinjau dan perbaiki kebijakan yang relevan, lalu verifikasi bahwa pengiriman dilanjutkan.
Pengiriman tidak tersedia untuk streaming saya
Tabel streaming dan pengiriman Amazon S3 mengharuskan aliran Kinesis Data Streams berada dalam mode kapasitas On-Demand Standar atau On-Demand Keuntungan. Jika streaming menggunakan mode Penyediaan, Anda harus mengalihkannya ke On-Demand mode sebelum dapat membuat pengiriman.
Pengiriman berhenti setelah perubahan skema
Pengiriman tidak mendukung evolusi skema. Jika Anda memperbarui AWS Glue skema di Registry Schema setelah membuat pengiriman, catatan yang dihasilkan dengan versi skema baru mungkin gagal validasi dan dialihkan ke antrean huruf mati.
Untuk menyelesaikan: kembalikan perubahan skema di produsen, atau hapus pengiriman yang ada dan buat ulang dengan skema yang diperbarui.
Tidak dapat menghapus aliran
Per DeleteStream mintaan gagal ResourceInUseException saat aliran memiliki satu atau lebih pengiriman aktif. Stream tidak dapat dihapus saat pengiriman dilampirkan padanya.
Untuk menyelesaikannya: daftarkan pengiriman di streaming dengan ListChannels (menggunakan filter aliran), hapus setiap pengiriman denganDeleteChannel, lalu hapus aliran.