DynamoDB GetItem dengan AWS CLI

Di CLI, key-nya adalah sebuah string DynamoDB JSON, setiap nilai dibungkus dengan tipenya ({"S": "..."}, {"N": "..."}), yang berarti sebagian besar kesulitan dalam aws dynamodb get-item adalah soal quoting di shell alih-alih soal DynamoDB. Key-nya sendiri tetap harus berupa primary key lengkap.

Kode

aws dynamodb get-item \
  --table-name 'Music' \
  --key '{"Artist":{"S":"Arturo Sandoval"},"SongTitle":{"S":"Cubano Chant"}}' \
  --projection-expression '#proj0, #proj1, #proj2, #proj3' \
  --expression-attribute-names '{"#proj0":"Artist","#proj1":"SongTitle","#proj2":"AlbumTitle","#proj3":"Year"}'

Responsnya mencetak item itu dalam DynamoDB JSON:

{
  "Item": {
    "Artist": {"S": "Arturo Sandoval"},
    "SongTitle": {"S": "Cubano Chant"},
    "AlbumTitle": {"S": "Danzon"},
    "Year": {"N": "1994"}
  }
}

Penjelasan

  • Kalau tidak ketemu, tak ada apa pun yang tercetak — tanpa Item, tanpa objek kosong, kode keluar 0. Menyalurkan itu langsung ke jq gagal pada input kosong, jadi tangkap keluarannya dan uji string-nya sebelum Anda mem-parse-nya.
  • Quoting adalah pekerjaan yang sebenarnya — pakai kutip tunggal untuk JSON-nya di bash dan zsh supaya $ dan ! tetap literal. cmd dan PowerShell di Windows mengikuti aturan berbeda; taruh key-nya di sebuah berkas dan lewatkan --key file://key.json alih-alih beradu dengannya.
  • --query bukan --projection-expression--query adalah JMESPath, diterapkan di mesin Anda setelah item itu dibaca dan ditagih. --projection-expression adalah yang dilihat DynamoDB. Keduanya tidak mengurangi biaya baca (mengapa).
  • Alias #proj0 itu wajib, bukan gaya-gayaanYear ada di daftar reserved word AWS, dan menyebutnya langsung dalam sebuah projection akan ditolak.
  • Tanyakan berapa biayanya — tambahkan --return-consumed-capacity TOTAL dan responsnya mendapat blok ConsumedCapacity. Untuk item ini, di bawah 4 KB, itu terbaca 0,5 unit kapasitas, atau 1,0 begitu Anda menambahkan --consistent-read (pertimbangannya).
  • CLI v2 memaginasi keluaran Anda — secara default semuanya melewati less di macOS dan Linux (dengan flag FRX) atau more di Windows. Dalam sebuah skrip itu jarang yang Anda inginkan: lewatkan --no-cli-pager, atau setel AWS_PAGER ke string kosong.

Lakukan secara visual

Mengetik gumpalan --key itu dengan tangan adalah tempat waktu Anda habis. DynamoDB Expression Builder membangun DynamoDB JSON dan map alias-nya dari sebuah formulir, lalu mengembalikan perintah aws dynamodb yang siap dijalankan.

DynoTable melakukan hal yang sama terhadap tabel sungguhan: jelajahi baris dalam sebuah grid, lalu ekspor query di baliknya kembali sebagai perintah CLI. Unduh DynoTable.

Panduan terkait

Referensi

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

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.