AWS CLI를 사용한 DynamoDB BatchGetItem
aws dynamodb batch-get-item은 단일 명령으로 기본 키로 최대 100개 항목을 가져옵니다(최대 16 MB). 키는 DynamoDB JSON으로 된 테이블 → 키의 맵으로 --request-items에 들어가며, 배치가 요청한 것의 일부만 정당하게 반환할 수 있으므로 출력에서 UnprocessedKeys를 확인해야 합니다.
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"}}
]
}
}'출력은 각 테이블을 발견된 항목에 매핑하고, 남은 것도 함께 보여줍니다:
{
"Responses": {
"Music": [
{"Artist": {"S": "Arturo Sandoval"}, "SongTitle": {"S": "Cubano Chant"}, ...}
]
},
"UnprocessedKeys": {}
}Explanation
--request-items— 테이블 이름 →{"Keys": [...]}의 맵입니다. 하나의 명령이 여러 테이블에 걸칠 수 있습니다. 모든 키는 전체 기본 키(복합 키의 경우 파티션 + 정렬)여야 합니다. 100개를 초과하는 키나 동일한 키가 두 번 있으면ValidationException으로 실패합니다.Responses— 항목은 특정 순서 없이 반환되며, 존재하지 않는 키는 단순히 나타나지 않습니다 — 키 속성으로 결과를 요청과 매칭하세요.UnprocessedKeys—query/scan과 달리 CLI는 부분 배치를 자동 재시도하지 않습니다(페이지네이션 토큰이 아닙니다). 맵이 비어 있지 않으면 — 스로틀링, 16 MB를 넘는 응답 — 그 정확한 맵을--request-items로 하여 명령을 다시 실행하고(이미 올바른 형태입니다), 시도 사이에 백오프하세요.- 테이블별로 일부 속성만 가져오도록
"ProjectionExpression": "..."(과"ExpressionAttributeNames")을, 강력한 일관성 읽기를 위해"ConsistentRead": true를 추가할 수 있습니다 — 배치 읽기는 기본적으로 최종적 일관성을 따릅니다. - 팁: 키가 몇 개를 넘으면 맵을 파일에 두고
--request-items file://keys.json으로 전달하세요.
Do it visually
셸 인용부호 안에서 중첩된 DynamoDB JSON을 손으로 작성하는 것은 오류가 나기 쉽습니다. DynamoDB Expression Builder는 타입 지정 키/값 맵을 만들고 바로 실행 가능한 CLI 명령을 복사해 줍니다.
GUI에서 여러 테이블에 걸쳐 항목을 가져오고 검사하려면 — JSON 이스케이프 없이, 재실행 관리 없이 — DynoTable을 다운로드하세요.
Related examples
- DynamoDB BatchGetItem in Node.js — AWS SDK v3를 사용한 동일한 배치 읽기.
- DynamoDB BatchGetItem in Python — boto3를 사용한 동일한 배치 읽기.
- DynamoDB GetItem with the AWS CLI — 이것이 배치하는 단일 항목 읽기.
- Batch operations in DynamoDB — 한도, 부분 실패, 그리고 배치가 이득이 되는 경우.
- "Too many items requested for the BatchGetItem call" — 하나의 요청에 100개를 초과하는 키.
- "Provided list of item keys contains duplicates" — 하나의 배치에 동일한 키가 두 번.
References
- BatchGetItem — Amazon DynamoDB API Reference
- batch-get-item — AWS CLI Command Reference
- Error handling with DynamoDB — Amazon DynamoDB Developer Guide
Last verified 2026-07-13 against the official AWS documentation linked above.