DynamoDB tidak dapat mengakses streaming — streaming tidak diaktifkan
TL;DR — Konsumen (pemetaan sumber peristiwa Lambda, pembaca Adaptor Kinesis, atau panggilan DescribeStream/GetShardIterator mentah) mencoba membaca aliran DynamoDB pada tabel tempat Aliran dimatikan, atau menggunakan aliran ARN yang sudah usang dari sebelum Aliran diaktifkan kembali. Aktifkan Aliran DynamoDB pada tabel dan arahkan konsumen ke LatestStreamArn tabel saat ini.
Apa artinya
Cannot access stream arn:aws:dynamodb:us-east-1:111122223333:table/Orders/stream/... .
Please ensure the ARN is correct and the stream is enabled.
DynamoDB Streams must be enabled on the table.Mengapa itu terjadi
- Streaming tidak pernah diaktifkan di atas tabel, namun konsumen mengharapkannya.
- Streaming dinonaktifkan dan diaktifkan kembali — setiap pengaktifan akan menghasilkan streaming baru ARN (dengan akhiran stempel waktu baru). Konsumen yang memegang ARN lama sedang membaca aliran yang dinonaktifkan dan tetap dapat dibaca paling lama 24 jam lagi, kemudian catatannya akan kedaluwarsa.
- Penyimpangan infrastruktur sebagai kode — konsumen CDK/CloudFormation/Terraform mereferensikan tabel yang diimpor berdasarkan nama/ARN yang tidak menyebarkan konfigurasi alirannya, sehingga perkakas menganggap Aliran tidak aktif.
- Streaming ARN salah — menggunakan tabel ARN, atau placeholder
.../stream/latest, bukanLatestStreamArnasli.
Bagaimana cara memperbaikinya
- Aktifkan Streaming di tabel. Setel
StreamSpecification{ StreamEnabled: true, StreamViewType: NEW_AND_OLD_IMAGES }(atau jenis tampilan apa pun yang dibutuhkan konsumen Anda) melaluiUpdateTable, konsol, atau IaC Anda. - Baca aliran ARN saat ini. Hubungi
DescribeTabledan gunakan kolomLatestStreamArn— jangan pernah menggunakan ARN buatan tangan atau cache. - Arahkan kembali konsumen ke ARN baru setelah siklus penonaktifan/enable apa pun; membuat ulang pemetaan sumber peristiwa Lambda jika terikat ke aliran lama.
- Berikan izin baca — peran konsumen memerlukan
dynamodb:DescribeStream,GetRecords,GetShardIterator, danListStreamsdi aliran ARN. - Jangan bingung membedakan tabel vs aliran ARN — aliran ARN diakhiri dengan
/stream/<timestamp>, sedangkan tabel ARN tidak.
Perlu memeriksa tabel dan konfigurasi alirannya tanpa konsol? Aplikasi desktop DynoTable menampilkan status streaming di samping tabel sehingga Anda dapat mengonfirmasi bahwa streaming aktif sebelum mengarahkan pembaca ke sana.
Sebelum mencoba lagi di DynoTable
Sebelum Anda melampirkan pemetaan sumber peristiwa Lambda, buka tabel di DynoTable dan konfirmasikan Streams diaktifkan dan StreamViewType mana yang diatur (detail tabel). DynoTable menunjukkan konfigurasi streaming di samping skema sehingga Anda tidak perlu berpindah melalui konsol AWS.
Setelah Anda menonaktifkan dan mengaktifkan kembali Streams, ARN berubah — segarkan tabel di DynoTable dan salin identitas streaming saat ini dari AWS (LatestStreamArn melalui CLI/DescribeTable) ke konsumen. Gunakan ⌘P untuk tetap berada di profil akun/region yang benar. Pemeriksaan barang sehari-hari tetap di DynoTable; konsumen stream tetap menggunakan peralatan Lambda/Kinesis. Pembuat kueri membantu memverifikasi tabel masih menyajikan pembacaan kunci setelah tombol Streams.
Sumber
- Ubah pengambilan data untuk Aliran DynamoDB (diverifikasi 13-07-2026)
- Memproses catatan Amazon DynamoDB dengan Lambda (diverifikasi 13-07-2026)
Kesalahan terkait
- ResourceNotFoundException — tabel atau aliran ARN tidak ada sama sekali.
- ARN yang disediakan tidak valid — aliran ARN dalam format yang salah.
- Pelajari: Aliran DynamoDB
Referensi
- Mengubah pengambilan data untuk Aliran DynamoDB — Panduan Pengembang Amazon DynamoDB
- Memproses catatan Amazon DynamoDB dengan Lambda — Panduan Pengembang Lambda AWS
- Spesifikasi Aliran — Referensi Amazon DynamoDB API
- DescribeTable — Referensi Amazon DynamoDB API
Terakhir diverifikasi 2026-07-13 berdasarkan dokumentasi resmi AWS yang ditautkan di atas.