Ambil Semua Item dari DynamoDB dengan AWS CLI

AWS CLI menyembunyikan paginasinya. aws dynamodb scan melakukan sebanyak mungkin panggilan layanan 1 MB sesuai kebutuhan tabel lalu mencetak satu hasil gabungan, jadi perintah yang membaca sepuluh item dan perintah yang membaca sepuluh juta adalah perintah yang sama.

Di situlah kemudahannya sekaligus jebakannya. Jumlah panggilan, memori, dan tagihan semuanya menskala mengikuti tabel sementara barisnya tetap satu baris.

Kode

aws dynamodb scan --table-name 'Music'

Keluaran gabungannya memuat setiap item dalam tabel:

{
    "Items": [
        {"Artist": {"S": "Arturo Sandoval"}, "SongTitle": {"S": "Cubano Chant"}, ...}
    ],
    "Count": 1287,
    "ScannedCount": 1287
}

Penjelasan

  • --no-paginate adalah saklar panggilan tunggal — ia menghentikan CLI mengikuti kursor, jadi Anda mendapat halaman pertama dan tidak lebih. Cocok untuk mengintip, salah untuk pembacaan penuh (cara kerja kursor).
  • --page-size mengubah jumlah panggilan, bukan keluarannya — AWS menyatakannya terus terang: "Changing the page size doesn't affect the output; it affects only the number of API calls that need to be made to generate the output." Pakailah saat halaman besar mengalami timeout, jangan pernah untuk menghemat uang. Biaya bacanya sama saja.
  • --max-items adalah tempat keluaran berhenti dan NextToken dimulai — ia mencetak item sebanyak itu plus token untuk melanjutkan lewat --starting-token. Setel ia dan --page-size ke angka yang sama: AWS memperingatkan bahwa nilai yang berbeda "can get unexpected results with missing or duplicated items".
  • --query berjalan di mesin Anda — ia adalah JMESPath atas hasil yang dicetak, diterapkan setelah setiap item dibaca dan ditagih. --projection-expression (plus --expression-attribute-names untuk reserved word) adalah yang dilihat DynamoDB, dan ia mengecilkan respons, bukan tagihan. --filter-expression juga membuang item setelah item itu ditagih (Scan dengan filter).
  • Semuanya di-buffer, lalu bertemu pager — CLI mengumpulkan setiap halaman sebelum mencetak, dan CLI v2 mengirim hasilnya lewat less di macOS dan Linux atau more di Windows secara default. Pada tabel besar itu sekaligus lonjakan memori dan terminal yang macet. Tambahkan --no-cli-pager, atau setel AWS_PAGER ke string kosong, lalu potong dengan --max-items.
  • Parallel scan juga bisa dari shell — jalankan N salinan dengan --segment i --total-segments N, masing-masing mempaginasi irisannya sendiri secara otomatis. Total biayanya sama, wall clock-nya jauh lebih rendah (kapan itu sepadan).

Lakukan secara visual

Perintah satu baris bisa jadi perintah yang mahal. Kalkulator harga DynamoDB memberi angka untuk pembacaan penuh tabel Anda sebelum Anda menjalankannya.

DynoTable menyusuri tabel dalam sebuah grid alih-alih buffer terminal, dan bisa mengekspor Scan di balik grid itu kembali menjadi perintah aws dynamodb. Unduh DynoTable.

Contoh terkait

Referensi

Terakhir diverifikasi 2026-07-28 terhadap dokumentasi resmi AWS yang ditautkan di atas.

Bangun request ini secara visual

Susun operasi ini di DynamoDB Query Builder gratis — key condition, filter, index, Limit, urutan sortir, dan loop paginasi — lalu salin kembali sebagai program SDK v3, CLI, atau boto3 yang bisa dijalankan.

Buka DynamoDB Query Builder

Bekerja dengan DynamoDB tanpa Console

Klien desktop DynamoDB yang cepat dan menjalankan SQL sungguhan yang tidak bisa dijalankan DynamoDB — JOINs, GROUP BY, agregasi — dengan editing visual dan agen AI pada kunci Bedrock milik Anda sendiri.

Uji coba gratis 30 hari, tanpa kartu kredit — lalu paket Free tanpa batas waktu.