중요
이 단원에서 언급되는 API 버전 2011-12-05는 사용 중단되었으며 새 애플리케이션에 사용해서는 안 됩니다.
현재 하위 수준 API에 대한 설명서는 Amazon DynamoDB API 참조 섹션을 참조하세요.
설명
새 항목을 만들거나 이전 항목을 새 항목으로 바꿉니다(모든 속성 포함). 지정된 테이블에 동일한 기본 키를 지닌 항목이 이미 존재하는 경우 기존 항목이 새 항목으로 완전히 바뀝니다. 조건부 입력을 수행하거나(기본 키가 지정된 항목이 없는 경우 새 항목을 삽입합니다) 기존 항목에 특정 속성 값이 있는 경우 해당 항목을 교체할 수 있습니다.
속성 값은 null이 될 수 없습니다. 문자열과 이진 형식 속성 길이는 0보다 커야 합니다. 설정 유형 속성은 비어 있으면 안 됩니다. 값이 비어 있는 요청은 ValidationException
으로 거부됩니다.
참고
새 항목이 기존의 항목을 대체하지 않도록 하려면 기본 키 속성 또는 속성에 대해 Exists
로 설정된 false
을 사용하여 조건부 입력 작업을 수행합니다.
PutItem
사용에 관한 자세한 내용은 DynamoDB의 항목 및 속성 작업 단원을 참조하세요.
요청
구문
// This header is abbreviated. // For a sample of a complete header, see DynamoDB 하위 수준 API. POST / HTTP/1.1 x-amz-target: DynamoDB_20111205.PutItem content-type: application/x-amz-json-1.0 {"TableName":"Table1", "Item":{ "AttributeName1":{"S":"AttributeValue1"}, "AttributeName2":{"N":"AttributeValue2"}, "AttributeName5":{"B":"dmFsdWU="} }, "Expected":{"AttributeName3":{"Value": {"S":"AttributeValue"}, "Exists":Boolean}}, "ReturnValues":"ReturnValuesConstant"}
명칭 | 설명 | 필수 |
---|---|---|
TableName
|
항목을 저장하기 위한 테이블의 이름. 유형: 문자열 |
예 |
Item
|
항목에 대한 속성 맵으로서 항목을 정의하는 기본 키 값이 반드시 포함되어야 합니다. 항목에 대한 다른 속성 이름-값 페어가 제공될 수 있습니다. 기본 키에 대한 자세한 내용은 프라이머리 키 단원을 참조하세요. 형식: 속성 값에 대한 속성 이름의 맵. |
예 |
Expected
|
조건부 입력의 속성을 지정합니다. 형식: 존재하는 경우, 속성 값에 대한 속성 이름의 맵. |
아니요 |
Expected:AttributeName
|
조건부 입력에 대한 속성 이름입니다. 유형: 문자열 |
아니요 |
Expected:AttributeName: ExpectedAttributeValue |
이 파라미터를 사용하여 속성 이름-값 페어의 값이 존재할지 여부를 지정합니다. 다음 JSON 표기법은 항목의 "Color" 속성이 없을 경우 해당 항목을 바꿉니다.
다음 JSON 표기법은 항목을 바꾸기 전에 이름이 "Color"인 속성의 기존 값이 "Yellow"인지 여부를 확인합니다.
기본적으로
참고확인할 속성 값이 없을 때 |
아니요 |
ReturnValues
|
속성 이름-값 페어가 유형: 문자열 |
아니요 |
응답
구문
다음 구문 예는 요청에 ALL_OLD
의 ReturnValues
파라미터가 지정되어 있다고 가정합니다. 그렇지 않을 경우 응답에는 ConsumedCapacityUnits
요소만 있습니다.
HTTP/1.1 200
x-amzn-RequestId: 8966d095-71e9-11e0-a498-71d736f27375
content-type: application/x-amz-json-1.0
content-length: 85
{"Attributes":
{"AttributeName3":{"S":"AttributeValue3"},
"AttributeName2":{"SS":"AttributeValue2"},
"AttributeName1":{"SS":"AttributeValue1"},
},
"ConsumedCapacityUnits":1
}
명칭 | 설명 |
---|---|
Attributes
|
입력 작업 전 속성 값입니다. 단 형식: 속성 이름-값 페어의 맵 |
ConsumedCapacityUnits |
작업에서 사용한 쓰기 용량 단위의 수입니다. 이 값은 할당 처리량에 적용되는 수를 나타냅니다. 자세한 정보는 DynamoDB 프로비저닝된 용량 모드 섹션을 참조하세요. 형식: 숫자 |
특수 오류
Error | 설명 |
---|---|
ConditionalCheckFailedException
|
조건부 확인이 실패했습니다. 예상 속성 값이 검색되지 않았습니다. |
ResourceNotFoundException
|
지정된 항목 또는 속성을 찾을 수 없습니다. |
예시
AWS SDK를 사용하는 예는 DynamoDB의 항목 및 속성 작업 단원을 참조하세요.
샘플 요청
// This header is abbreviated. For a sample of a complete header, see DynamoDB 하위 수준 API. POST / HTTP/1.1 x-amz-target: DynamoDB_20111205.PutItem content-type: application/x-amz-json-1.0 {"TableName":"comp5", "Item": {"time":{"N":"300"}, "feeling":{"S":"not surprised"}, "user":{"S":"Riley"} }, "Expected": {"feeling":{"Value":{"S":"surprised"},"Exists":true}} "ReturnValues":"ALL_OLD" }
샘플 응답
HTTP/1.1 200
x-amzn-RequestId: 8952fa74-71e9-11e0-a498-71d736f27375
content-type: application/x-amz-json-1.0
content-length: 84
{"Attributes":
{"feeling":{"S":"surprised"},
"time":{"N":"300"},
"user":{"S":"Riley"}},
"ConsumedCapacityUnits":1
}