Ambil Semua Item dari DynamoDB dengan AWS CLI
Tidak ada "select all" di DynamoDB — membaca seluruh tabel berarti sebuah Scan yang dipaginasi. Kabar baiknya: AWS CLI melakukan pagination otomatis, membuat sebanyak yang diperlukan panggilan layanan 1 MB di balik layar dan mencetak satu hasil gabungan.
Code
aws dynamodb scan --table-name 'Music'Output gabungan berisi setiap item dalam tabel:
{
"Items": [
{"Artist": {"S": "Arturo Sandoval"}, "SongTitle": {"S": "Cubano Chant"}, ...}
],
"Count": 1287,
"ScannedCount": 1287
}Penjelasan
- Pagination otomatis — tidak seperti SDK, CLI mengikuti
LastEvaluatedKeyuntuk Anda secara default: satu perintah, setiap item. (--no-paginatemembatasinya ke satu panggilan layanan — hanya ~1 MB pertama.) - Output terpotong untuk tabel besar — seluruh tabel masuk ke memori sebelum dicetak, jadi untuk tabel besar bacalah dalam potongan:
--max-items 1000mencetak 1000 item plus sebuahNextToken; lanjutkan dengan--starting-token <token>. Jaga--page-sizesama dengan--max-itemsuntuk menghindari baris yang hilang/terduplikasi antar potongan. - Lebih sedikit byte, tagihan sama —
--projection-expression 'Artist, SongTitle'(dengan--expression-attribute-namesuntuk reserved word) mengembalikan hanya atribut itu, tetapi sebuah scan tetap menagih setiap byte dari setiap item yang dibaca. - Lebih cepat pada tabel besar: parallel scan — jalankan N salinan dengan
--segment i --total-segments N, masing-masing melakukan pagination sendiri untuk irisannya. Total biaya sama, waktu jam dinding jauh lebih rendah. - Menyaring sekalian?
--filter-expressionmenjatuhkan item setelah dibaca (dan ditagih) — lihat Scan dengan filter. Menyalurkan kejq? Tambahkan--output jsondan ingat nilainya adalah DynamoDB JSON.
Lakukan secara visual
Melihat sekilas sebuah tabel tidak perlu terminal penuh DynamoDB JSON: unduh DynoTable untuk menjelajah tabel apa pun dalam grid berpaginasi — ia melakukan paging melalui scan untuk Anda. Dan sebelum Anda scan-dan-bayar, kalkulator harga DynamoDB menunjukkan berapa biaya sebenarnya dari pembacaan penuh tabel Anda.
Contoh terkait
- Ambil semua item di Node.js — pembacaan penuh yang sama dengan loop eksplisit.
- Ambil semua item di Python — pembacaan penuh yang sama dengan paginator boto3.
- DynamoDB Scan dengan AWS CLI — melakukan scan dengan
--filter-expression. - Parallel scan — Segment/TotalSegments, jumlah worker, dan kapan repot-repot.
- Mengapa Scan DynamoDB saya lambat dan mahal? — model biaya dan cara menghindarinya.
- DynamoDB ProvisionedThroughputExceededException — membaca seluruh tabel adalah cara klasik untuk menabraknya.
- "The provided starting key is invalid" — key resume yang rusak dalam loop pagination.
References
- Scan — Amazon DynamoDB API Reference
- scan — AWS CLI Command Reference
- Using AWS CLI pagination options — AWS CLI User Guide
- DynamoDB read and write operations (capacity unit consumption) — Amazon DynamoDB Developer Guide
Terakhir diverifikasi 2026-07-13 terhadap dokumentasi resmi AWS yang ditautkan di atas.