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 denganValidationException.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 sepertiquery/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": trueuntuk 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
- DynamoDB BatchGetItem di Node.js — pembacaan batch yang sama dengan AWS SDK v3.
- DynamoDB BatchGetItem di Python — pembacaan batch yang sama dengan boto3.
- DynamoDB GetItem dengan AWS CLI — pembacaan satu item yang ini batch-kan.
- Operasi batch di DynamoDB — batas, kegagalan parsial, dan kapan batching sepadan.
- "Too many items requested for the BatchGetItem call" — lebih dari 100 key dalam satu request.
- "Provided list of item keys contains duplicates" — key yang sama dua kali dalam satu batch.
References
- BatchGetItem — Amazon DynamoDB API Reference
- batch-get-item — AWS CLI Command Reference
- Error handling with DynamoDB — Amazon DynamoDB Developer Guide
Terakhir diverifikasi 2026-07-13 terhadap dokumentasi resmi AWS yang ditautkan di atas.