DeleteItem - Amazon DynamoDB

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

DeleteItem

중요

이 단원에서 언급되는 API 버전 2011-12-05는 사용 중단되었으며 새 애플리케이션에 사용해서는 안 됩니다.

현재 하위 수준 API에 대한 설명서는 Amazon DynamoDB API 참조 섹션을 참조하세요.

설명

기본 키로 테이블의 단일 항목을 삭제합니다. 항목이 있거나 항목에 예상 속성 값이 있을 경우 삭제하는 조건부 삭제 작업을 수행할 수 있습니다.

참고

속성이나 값 없이 DeleteItem을 지정하면 항목의 모든 속성이 삭제됩니다.

조건을 지정하지 않으면 DeleteItem은 idempotent 작업이 됩니다. 동일한 항목이나 속성에서 여러 번 실행할 경우 오류 응답이 발생하지 않습니다.

특정 조건이 충족될 경우 항목과 속성을 삭제할 때만 조건부 삭제가 유용합니다. 조건이 충족되면 DynamoDB에서 삭제를 수행합니다. 그렇지 않으면 항목이 삭제되지 않습니다.

작업마다 한 속성에 대해 예상되는 조건부 검사를 수행할 수 있습니다.

요청

구문

// This header is abbreviated. // For a sample of a complete header, see DynamoDB 하위 수준 API. POST / HTTP/1.1 x-amz-target: DynamoDB_20111205.DeleteItem content-type: application/x-amz-json-1.0 {"TableName":"Table1", "Key": {"HashKeyElement":{"S":"AttributeValue1"},"RangeKeyElement":{"N":"AttributeValue2"}}, "Expected":{"AttributeName3":{"Value":{"S":"AttributeValue3"}}}, "ReturnValues":"ALL_OLD"} }
이름 설명 필수
TableName

삭제할 항목이 포함된 테이블 이름입니다.

유형: String

Key

항목을 정의하는 기본 키입니다. 기본 키에 대한 자세한 내용은 프라이머리 키 단원을 참조하세요.

형식: 해당 값에 대한 HashKeyElement 및 해당 값에 대한 RangeKeyElement의 맵

Expected

조건부 삭제의 속성을 지정합니다. Expected 파라미터를 사용하면 속성 이름을 제공하고, DynamoDB에서 속성을 삭제하기 전에 속성에 특정 값이 있는지 확인할지 여부를 지정할 수 있습니다.

형식: 속성 이름의 맵

아니요
Expected:AttributeName

조건부 입력에 대한 속성 이름입니다.

유형: String

아니요
Expected:AttributeName: ExpectedAttributeValue 이 파라미터를 사용하여 속성 이름-값 페어의 값이 존재할지 여부를 지정합니다.

다음 JSON 표기법은 항목의 "Color" 속성이 없을 경우 해당 항목을 삭제합니다.

"Expected" : {"Color":{"Exists":false}}

다음 JSON 표기법은 항목을 삭제하기 전에 이름이 "Color"인 속성의 기존 값이 "Yellow"인지 여부를 확인합니다.

"Expected" : {"Color":{"Exists":true},{"Value":{"S":"Yellow"}}}

기본적으로 Expected 파라미터를 사용하고 Value를 제공하는 경우 DynamoDB는 속성이 존재하고 바꿀 현재 값이 있는 것으로 가정합니다. 따라서 {"Exists":true}가 내재되어 있으므로 지정하지 않아도 됩니다. 요청을 다음과 같이 줄일 수 있습니다.

"Expected" : {"Color":{"Value":{"S":"Yellow"}}}
참고

확인할 속성 값이 없을 때 {"Exists":true}를 지정하면 DynamoDB는 오류를 반환합니다.

아니요
ReturnValues

속성 이름-값 페어가 삭제되기 전에 이를 가져오려면 이 파라미터를 사용합니다. 가능한 파라미터 값은 NONE(기본) 또는 ALL_OLD입니다. ALL_OLD가 지정되면 이전 항목의 내용이 반환됩니다. 이 파라미터가 제공되지 않거나 NONE인 경우, 아무 것도 반환되지 않습니다.

유형: String

아니요

응답

구문

HTTP/1.1 200 OK x-amzn-RequestId: CSOC7TJPLR0OOKIRLGOHVAICUFVV4KQNSO5AEMVJF66Q9ASUAAJG content-type: application/x-amz-json-1.0 content-length: 353 Date: Tue, 12 Jul 2011 21:31:03 GMT {"Attributes": {"AttributeName3":{"SS":["AttributeValue3","AttributeValue4","AttributeValue5"]}, "AttributeName2":{"S":"AttributeValue2"}, "AttributeName1":{"N":"AttributeValue1"} }, "ConsumedCapacityUnits":1 }
이름 설명
Attributes

ReturnValues 파라미터가 ALL_OLD로 요청에 제공되면 DynamoDB가 속성 이름-값 페어의 배열을 반환합니다(특히 삭제된 항목). 그렇지 않으면 응답에 빈 세트가 포함됩니다.

형식: 속성 이름-값 페어의 배열.

ConsumedCapacityUnits

작업에서 사용한 쓰기 용량 단위의 수입니다. 이 값은 할당 처리량에 적용되는 수를 나타냅니다. 존재하지 않는 항목의 삭제 요청은 1 쓰기 용량 단위를 사용합니다. 자세한 내용은 DynamoDB 프로비저닝된 용량 테이블의 설정 관리 단원을 참조하세요.

형식: 숫자

특수 오류

오류 설명
ConditionalCheckFailedException 조건부 확인이 실패했습니다. 예상 속성 값이 검색되지 않았습니다.

예시

샘플 요청

// This header is abbreviated. // For a sample of a complete header, see DynamoDB 하위 수준 API. POST / HTTP/1.1 x-amz-target: DynamoDB_20111205.DeleteItem content-type: application/x-amz-json-1.0 {"TableName":"comp-table", "Key": {"HashKeyElement":{"S":"Mingus"},"RangeKeyElement":{"N":"200"}}, "Expected": {"status":{"Value":{"S":"shopping"}}}, "ReturnValues":"ALL_OLD" }

샘플 응답

HTTP/1.1 200 OK x-amzn-RequestId: U9809LI6BBFJA5N2R0TB0P017JVV4KQNSO5AEMVJF66Q9ASUAAJG content-type: application/x-amz-json-1.0 content-length: 353 Date: Tue, 12 Jul 2011 22:31:23 GMT {"Attributes": {"friends":{"SS":["Dooley","Ben","Daisy"]}, "status":{"S":"shopping"}, "time":{"N":"200"}, "user":{"S":"Mingus"} }, "ConsumedCapacityUnits":1 }