DynamoDB BatchGetItem dengan AWS CLI

aws dynamodb batch-get-item mengambil hingga 100 item berdasarkan primary key dalam satu perintah (maksimum 16 MB). Key-nya masuk ke --request-items sebagai map dari tabel → key dalam DynamoDB JSON — dan Anda harus memeriksa UnprocessedKeys di output, karena sebuah batch secara sah bisa mengembalikan hanya sebagian dari yang Anda minta.

Code

aws dynamodb batch-get-item \
  --request-items '{
    "Music": {
      "Keys": [
        {"Artist": {"S": "Arturo Sandoval"}, "SongTitle": {"S": "Cubano Chant"}},
        {"Artist": {"S": "Arturo Sandoval"}, "SongTitle": {"S": "A Mis Abuelos"}},
        {"Artist": {"S": "Ella Fitzgerald"}, "SongTitle": {"S": "Misty"}}
      ]
    }
  }'

Output-nya memetakan setiap tabel ke item yang ditemukan, plus sisa yang belum diproses:

{
    "Responses": {
        "Music": [
            {"Artist": {"S": "Arturo Sandoval"}, "SongTitle": {"S": "Cubano Chant"}, ...}
        ]
    },
    "UnprocessedKeys": {}
}

Penjelasan

  • --request-items — map dari nama tabel → {"Keys": [...]}; satu perintah bisa mencakup beberapa tabel. Setiap key harus berupa primary key lengkap (partition + sort untuk key komposit). Lebih dari 100 key, atau key yang sama dua kali, gagal dengan ValidationException.
  • Responses — item kembali dalam urutan yang tidak tertentu, dan key yang tidak ada cukup tidak muncul — cocokkan hasil dengan permintaan berdasarkan atribut key-nya.
  • UnprocessedKeys — tidak seperti query/scan, CLI tidak otomatis mencoba ulang batch parsial (ini bukan token pagination). Jika map-nya tidak kosong — throttling, response >16 MB — jalankan ulang perintah dengan map persis itu sebagai --request-items (ia sudah dalam bentuk yang benar), dengan backoff di antara percobaan.
  • Per tabel Anda bisa menambahkan "ProjectionExpression": "..." (dengan "ExpressionAttributeNames") untuk mengambil hanya sebagian atribut, dan "ConsistentRead": true untuk pembacaan strongly-consistent — pembacaan batch bersifat eventually consistent secara default.
  • Tip: untuk lebih dari beberapa key, simpan map di sebuah file dan lewatkan --request-items file://keys.json.

Lakukan secara visual

Menulis DynamoDB JSON bersarang dengan tangan di dalam tanda kutip shell rawan kesalahan. DynamoDB Expression Builder membangun map key/value bertipe dan menyalin perintah CLI yang siap dijalankan.

Untuk mengambil dan memeriksa item di seluruh tabel dalam GUI — tanpa escaping JSON, tanpa pembukuan menjalankan ulang — unduh DynoTable.

Contoh terkait

References

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

Bekerja dengan DynamoDB tanpa Console

DynoTable adalah klien desktop yang cepat untuk DynamoDB — jelajahi tabel, jalankan query gaya SQL, dan edit Item secara lokal.