

# 이전 하위 수준 API 버전(2011-12-05)
<a name="Appendix.APIv20111205"></a>

이번 단원에서는 이전 DynamoDB 하위 수준 API 버전(2011-12-05)에서 사용할 수 있는 작업에 대해 살펴봅니다. 이 하위 수준 API 버전을 유지하는 이유는 기존 애플리케이션과의 역호환성을 지원하기 위해서입니다.

**신규 애플리케이션은 현재 API 버전(2012-08-10)을 사용해야 합니다.** 자세한 내용은 [DynamoDB API 참조](CurrentAPI.md) 섹션을 참조하세요.

**참고**  
애플리케이션은 최신 API 버전(2012-08-10)으로 마이그레이션하는 것이 바람직합니다. 새로운 DynamoDB 기능은 이전 API 버전으로 백포트(backport)가 지원되지 않기 때문입니다.

**Topics**
+ [BatchGetItem](API_BatchGetItem_v20111205.md)
+ [BatchWriteItem](API_BatchWriteItem_v20111205.md)
+ [CreateTable](API_CreateTable_v20111205.md)
+ [DeleteItem](API_DeleteItem_v20111205.md)
+ [DeleteTable](API_DeleteTable_v20111205.md)
+ [DescribeTables](API_DescribeTables_v20111205.md)
+ [GetItem](API_GetItem_v20111205.md)
+ [ListTables](API_ListTables_v20111205.md)
+ [PutItem](API_PutItem_v20111205.md)
+ [Query](API_Query_v20111205.md)
+ [스캔](API_Scan_v20111205.md)
+ [UpdateItem](API_UpdateItem_v20111205.md)
+ [UpdateTable](API_UpdateTable_v20111205.md)

# BatchGetItem
<a name="API_BatchGetItem_v20111205"></a>

**중요**  
***이 단원에서 언급되는 API 버전 2011-12-05는 사용 중단되었으며 새 애플리케이션에 사용해서는 안 됩니다.***  
 **현재 하위 수준 API에 대한 설명서는 [Amazon DynamoDB API 참조](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/) 섹션을 참조하세요.**

## 설명
<a name="API_BatchGetItem_Description"></a>

`BatchGetItem` 작업은 기본 키를 사용하여 여러 테이블에서 다수의 항목에 대한 속성을 반환합니다. 단일 작업에서 가져올 수 있는 최대 항목 수는 100개입니다. 또한 가져오는 항목 크기도 1MB로 제한됩니다. 응답 크기 제한을 벗어났거나, 테이블의 프로비저닝된 처리량을 초과하거나 내부 처리 오류가 발생하여 일부 결과만 반환되는 경우에는 DynamoDB가 `UnprocessedKeys` 값을 반환합니다. 그러면 다음 항목을 가져올 때 작업을 다시 시도할 수 있습니다. DynamoDB는 이러한 제한을 유지하기 위해 페이지당 반환되는 항목 수를 자동으로 조정합니다. 예를 들어 항목 100개를 가져오려고 해도 각 항목 크기가 50KB라면 시스템은 20개와 해당하는 `UnprocessedKeys` 값만 반환합니다. 따라서 다음 페이지에서 결과를 확인할 수 있습니다. 원한다면 애플리케이션에 자체 로직을 추가하여 결과 페이지를 단일 집합으로 어셈블할 수 있습니다.

요청에 포함된 각 테이블마다 프로비저닝 처리량이 부족하여 처리할 수 있는 항목이 없을 경우에는 DynamoDB가 `ProvisionedThroughputExceededException` 오류를 반환합니다.

**참고**  
기본적으로 `BatchGetItem`는 요청에 속한 모든 테이블에 최종적 일관된 읽기(Eventually Consistent Read)를 실행합니다. 그렇지 않고 consistent read를 원할 때는 테이블마다 `ConsistentRead` 파라미터를 `true`로 설정할 수 있습니다.  
`BatchGetItem` 은 항목을 병렬 방식으로 가져오기 때문에 응답 지연 시간을 최소화합니다.  
애플리케이션을 설계할 때 DynamoDB는 반환되는 응답에서 속성의 순서 방식을 보장하지 않습니다. 따라서 항목 별로 응답을 구문 분석하려면 요청 항목마다 `AttributesToGet`에 기본 키 값을 추가해야 합니다.  
요청된 항목이 존재하지 않으면 해당 항목 응답에서는 아무것도 반환되지 않습니다. 존재하지 않는 항목에 대한 요청은 읽기 형식에 따라 최소 읽기 용량 단위를 사용합니다. 자세한 내용은 [DynamoDB 항목 크기 및 형식](CapacityUnitCalculations.md) 단원을 참조하십시오.

## 요청
<a name="API_BatchGetItem_RequestParameters"></a>

### 구문
<a name="API_BatchGetItem_RequestParameters.syntax"></a>

```
// This header is abbreviated. For a sample of a complete header, see DynamoDB 하위 수준 API.
POST / HTTP/1.1 
x-amz-target: DynamoDB_20111205.BatchGetItem 
content-type: application/x-amz-json-1.0 

{"RequestItems":
    {"Table1": 
        {"Keys": 
            [{"HashKeyElement": {"S":"KeyValue1"}, "RangeKeyElement":{"N":"KeyValue2"}},
            {"HashKeyElement": {"S":"KeyValue3"}, "RangeKeyElement":{"N":"KeyValue4"}},
            {"HashKeyElement": {"S":"KeyValue5"}, "RangeKeyElement":{"N":"KeyValue6"}}],
        "AttributesToGet":["AttributeName1", "AttributeName2", "AttributeName3"]},
    "Table2": 
        {"Keys": 
            [{"HashKeyElement": {"S":"KeyValue4"}}, 
            {"HashKeyElement": {"S":"KeyValue5"}}],
        "AttributesToGet": ["AttributeName4", "AttributeName5", "AttributeName6"]
        }
    }
}
```


****  

|  명칭  |  설명  |  필수 | 
| --- | --- | --- | 
|  RequestItems  | 기본 키로 가져올 테이블 이름과 해당 항목의 컨테이너. 항목 요청 시 각 테이블 이름은 작업당 한 번만 불러올 수 있습니다.유형: 문자열 기본값: None  |  예 | 
| Table |  가져올 항목이 저장되어 있는 테이블 이름. 이 엔트리는 레이블이 없는 기존 테이블을 지정하는 단순 문자열입니다. 유형: 문자열  기본값: None   | 예 | 
| Table:Keys  |  지정 테이블의 항목을 정의하는 기본 키 값. 기본 키에 대한 자세한 내용은 [프라이머리 키](HowItWorks.CoreComponents.md#HowItWorks.CoreComponents.PrimaryKey) 단원을 참조하세요. 형식: 키   | 예 | 
| Table:AttributesToGet  |  지정 테이블에 속한 속성 이름 배열. 속성 이름을 지정하지 않으면 모든 속성이 반환됩니다. 일부 속성을 찾을 수 없는 경우 결과에 표시되지 않습니다. 유형: 배열   | 아니요 | 
| Table:ConsistentRead  |  `true`로 설정하면 consistent read가 발생하고, 그 밖의 경우에는 eventually consistent가 사용됩니다. 타입: 부울   | 아니요 | 

## 응답
<a name="API_BatchGetItem_ResponseElements"></a>

### 구문
<a name="API_BatchGetItem_ResponseElements.syntax"></a>

```
HTTP/1.1 200 
x-amzn-RequestId: 8966d095-71e9-11e0-a498-71d736f27375
content-type: application/x-amz-json-1.0 
content-length: 855

{"Responses":
    {"Table1":
        {"Items":
        [{"AttributeName1": {"S":"AttributeValue"},
        "AttributeName2": {"N":"AttributeValue"},
        "AttributeName3": {"SS":["AttributeValue", "AttributeValue", "AttributeValue"]}
        },
        {"AttributeName1": {"S": "AttributeValue"},
        "AttributeName2": {"S": "AttributeValue"},
        "AttributeName3": {"NS": ["AttributeValue", "AttributeValue", "AttributeValue"]}
        }],
    "ConsumedCapacityUnits":1},
    "Table2": 
        {"Items":
        [{"AttributeName1": {"S":"AttributeValue"},
        "AttributeName2": {"N":"AttributeValue"},
        "AttributeName3": {"SS":["AttributeValue", "AttributeValue", "AttributeValue"]}
        },
        {"AttributeName1": {"S": "AttributeValue"},
        "AttributeName2": {"S": "AttributeValue"},
        "AttributeName3": {"NS": ["AttributeValue", "AttributeValue","AttributeValue"]}
        }],
    "ConsumedCapacityUnits":1}
    },
    "UnprocessedKeys":
        {"Table3": 
        {"Keys": 
            [{"HashKeyElement": {"S":"KeyValue1"}, "RangeKeyElement":{"N":"KeyValue2"}},
            {"HashKeyElement": {"S":"KeyValue3"}, "RangeKeyElement":{"N":"KeyValue4"}},
            {"HashKeyElement": {"S":"KeyValue5"}, "RangeKeyElement":{"N":"KeyValue6"}}],
        "AttributesToGet":["AttributeName1", "AttributeName2", "AttributeName3"]}
        }
}
```


****  

|  명칭  |  설명  | 
| --- | --- | 
| Responses  | 테이블 이름과 테이블의 각 항목 속성.유형: 맵  | 
| Table |  항목이 저장되어 있는 테이블 이름. 이 엔트리는 레이블이 없는 테이블을 지정하는 단순 문자열입니다.유형: 문자열  | 
| Items  | 작업 파라미터를 만족하는 속성 이름과 값이 저장되는 컨테이너.형식: 속성 이름 맵과 속성의 데이터 형식 및 값. | 
| ConsumedCapacityUnits | 각 테이블마다 사용되는 읽기 용량 단위 수. 이 값은 할당 처리량에 적용되는 수를 나타냅니다. 존재하지 않는 항목에 대한 요청은 읽기 형식에 따라 최소 읽기 용량 단위를 사용합니다. 자세한 정보는 [DynamoDB 프로비저닝된 용량 모드](provisioned-capacity-mode.md) 섹션을 참조하세요. 형식: 숫자 | 
| UnprocessedKeys | 응답 크기 제한에 걸려 현재 응답에서 처리되지 않은 테이블 배열과 각 테이블 키가 저장됩니다. `UnprocessedKeys` 값은 `RequestItems` 파라미터와 동일한 형태가 됩니다(따라서 이 값을 이어지는 `BatchGetItem` 작업에 직접 입력해도 됩니다). 자세한 내용은 위의 `RequestItems` 파라미터를 참조하세요.유형: 배열  | 
| UnprocessedKeys: Table: Keys  | 항목, 그리고 항목과 연동된 속성을 정의하는 기본 키 속성 값. 기본 키에 대한 자세한 내용은 [프라이머리 키](HowItWorks.CoreComponents.md#HowItWorks.CoreComponents.PrimaryKey) 단원을 참조하세요.형식: 속성 이름-값 페어의 배열.  | 
| UnprocessedKeys: Table: AttributesToGet  |  지정 테이블에 속한 속성 이름. 속성 이름을 지정하지 않으면 모든 속성이 반환됩니다. 일부 속성을 찾을 수 없는 경우 결과에 표시되지 않습니다. 형식: 속성 이름 배열.  | 
| UnprocessedKeys: Table: ConsistentRead  |  `true`로 설정하면 지정 테이블에 consistent read가 사용되고, 그렇지 않으면 최종적 일관된 읽기(Eventually Consistent Read)가 사용됩니다. 유형: 부울.  | 

## 특수 오류
<a name="API_BatchGetItem_SpecialErrors"></a>


****  

|  Error  |  설명  | 
| --- | --- | 
| ProvisionedThroughputExceededException  | 할당이 허용되는 최대 처리량을 초과하였습니다.  | 

## 예시
<a name="API_BatchGetItem_Examples"></a>

다음은 BatchGetItem 작업을 사용해 HTTP POST 요청 및 응답을 나타낸 예제입니다. AWS SDK를 사용하는 예는 [DynamoDB의 항목 및 속성 작업](WorkingWithItems.md) 단원을 참조하세요.

### 샘플 요청
<a name="API_BatchGetItem_Examples_Request"></a>

다음은 두 가지 다른 테이블에서 속성을 요청하는 예제입니다.

```
// This header is abbreviated. 
// For a sample of a complete header, see DynamoDB 하위 수준 API.
POST / HTTP/1.1 
x-amz-target: DynamoDB_20111205.BatchGetItem 
content-type: application/x-amz-json-1.0 
content-length: 409

{"RequestItems":
    {"comp1":
        {"Keys":
            [{"HashKeyElement":{"S":"Casey"},"RangeKeyElement":{"N":"1319509152"}},
            {"HashKeyElement":{"S":"Dave"},"RangeKeyElement":{"N":"1319509155"}},
            {"HashKeyElement":{"S":"Riley"},"RangeKeyElement":{"N":"1319509158"}}],
        "AttributesToGet":["user","status"]},
    "comp2":
        {"Keys":
            [{"HashKeyElement":{"S":"Julie"}},{"HashKeyElement":{"S":"Mingus"}}],
        "AttributesToGet":["user","friends"]}
    }
}
```

### 샘플 응답
<a name="API_BatchGetItem_Examples_Response"></a>

다음은 응답 예제입니다.

```
HTTP/1.1 200 OK
x-amzn-RequestId: GTPQVRM4VJS792J1UFJTKUBVV4KQNSO5AEMVJF66Q9ASUAAJG
content-type: application/x-amz-json-1.0 
content-length: 373
Date: Fri, 02 Sep 2011 23:07:39 GMT

{"Responses":
    {"comp1":
        {"Items":
            [{"status":{"S":"online"},"user":{"S":"Casey"}},
            {"status":{"S":"working"},"user":{"S":"Riley"}},
            {"status":{"S":"running"},"user":{"S":"Dave"}}],
        "ConsumedCapacityUnits":1.5},
    "comp2":
        {"Items":
            [{"friends":{"SS":["Elisabeth", "Peter"]},"user":{"S":"Mingus"}},
            {"friends":{"SS":["Dave", "Peter"]},"user":{"S":"Julie"}}],
        "ConsumedCapacityUnits":1}
    },
    "UnprocessedKeys":{}
}
```

# BatchWriteItem
<a name="API_BatchWriteItem_v20111205"></a>

**중요**  
***이 단원에서 언급되는 API 버전 2011-12-05는 사용 중단되었으며 새 애플리케이션에 사용해서는 안 됩니다.***  
 **현재 하위 수준 API에 대한 설명서는 [Amazon DynamoDB API 참조](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/) 섹션을 참조하세요.**

## 설명
<a name="API_BatchWriteItems_Description"></a>

이 작업을 사용하면 단일 호출로 여러 테이블에서 여러 항목을 추가하거나 삭제할 수 있습니다.

하나의 항목을 업로드하려면 `PutItem`을 사용하고, 하나의 항목을 삭제하려면 `DeleteItem`을 사용할 수 있습니다. 그러나 대용량의 데이터를 업로드하거나 삭제하려는 경우(예: Amazon EMR에서 대용량의 데이터를 업로드하거나 다른 데이터베이스의 데이터를 DynamoDB로 마이그레이션) `BatchWriteItem`은 효과적인 대안을 제공합니다.

Java와 같은 언어를 사용하는 경우 스레드를 사용하여 항목을 동시에 업로드할 수 있습니다. 이는 애플리케이션의 스레드 처리를 복잡하게 합니다. 다른 언어는 스레딩을 지원하지 않습니다. 예를 들어 PHP를 사용하는 경우 한 번에 하나씩 항목을 업로드하거나 삭제해야 합니다. 두 경우 모두, `BatchWriteItem`은 지정된 추가 및 삭제 작업이 동시에 처리되는 대안을 제공하여 스레드 풀 접근 방식을 제공하므로 애플리케이션을 복잡하게 하지 않습니다.

`BatchWriteItem` 작업에서 지정된 각각의 개별적 추가 및 삭제는 소비되는 용량 단위 기준으로는 동일하다는 점에 유의하세요. 다만 `BatchWriteItem`이 지정된 작업을 동시에 수행하기 때문에 지연 시간은 줄어듭니다. 존재하지 않는 항목의 삭제 작업은 1 쓰기 용량 단위를 사용합니다. 사용되는 용량 단위에 대한 자세한 내용은 [DynamoDB의 테이블 및 데이터 작업](WorkingWithTables.md) 단원을 참조하세요.

`BatchWriteItem`을 사용하는 경우 다음 제한에 유의하세요.
+ **단일 요청에서 최대 작업** - 총 최대 25개의 추가 또는 삭제 작업을 지정할 수 있습니다. 그러나 총 요청 크기는 1MB(HTTP 페이로드)를 초과할 수 없습니다.
+ 항목을 추가 및 삭제하는 경우에만 `BatchWriteItem` 작업을 사용할 수 있습니다. 이 작업을 사용하여 기존 항목을 업데이트할 수 없습니다.
+ **원자성 작업이 아님** - `BatchWriteItem`에 지정된 개별 작업은 원자성입니다. 그러나 `BatchWriteItem`은 전체적으로 ‘최상의 노력’ 작업이며 원자성 작업이 아닙니다. 다시 말해 `BatchWriteItem` 요청에서 일부 작업만 성공하고 다른 작업은 실패할 수 있습니다. 실패한 작업은 응답에서 `UnprocessedItems` 필드로 반환됩니다. 실패 원인 중 일부는 테이블에 대해 구성된 할당된 처리량을 초과했거나 네트워크 오류와 같은 일시적 실패 때문일 수 있습니다. 요청을 조사하거나 선택적으로 재전송할 수 있습니다. 일반적으로 `BatchWriteItem`을 반복적으로 호출하고 반복될 때마다 처리되지 않은 항목을 확인한 다음, 그러한 항목을 포함시킨 새 `BatchWriteItem` 요청을 제출합니다.
+ **항목을 반환하지 않음** - `BatchWriteItem`은 대용량의 데이터를 효율적으로 업로드하기 위한 것입니다. 그러나 `PutItem` 및 `DeleteItem`에서 지원하는 일부 고급 작업을 제공하지 않습니다. 예를 들어 `DeleteItem`은 요청 본문의 `ReturnValues` 필드를 지원하여 응답에서 삭제된 항목을 요청합니다. `BatchWriteItem` 작업은 응답에 항목을 반환하지 않습니다.
+ `PutItem` 및 `DeleteItem`과는 달리 `BatchWriteItem`은 작업의 개별 쓰기 요청에 조건을 지정하도록 허용하지 않습니다.
+ 속성 값은 null이 될 수 없습니다. 문자열과 이진 형식 속성 길이는 0보다 커야 합니다. 설정 유형 속성은 비어 있으면 안 됩니다. 값이 비어 있는 요청은 `ValidationException`으로 거부됩니다.

DynamoDB는 다음 중 하나가 true일 경우 전체 일괄 쓰기 작업을 거부합니다.
+ `BatchWriteItem` 요청에 지정된 하나 이상의 테이블이 존재하지 않는 경우.
+ 요청의 항목에 지정된 기본 키 속성이 해당하는 테이블의 기본 키 스키마와 일치하지 않는 경우.
+ 동일한 `BatchWriteItem` 요청에서 동일한 항목에 대해 여러 작업을 수행하려는 경우. 예를 들어 동일한 `BatchWriteItem` 요청에서 동일한 항목을 추가 및 삭제할 수 없습니다.
+ 총 요청 크기가 1MB 요청 크기(HTTP 페이로드) 제한을 초과하는 경우.
+ 일괄의 개별 항목이 64KB 항목 크기 제한을 초과하는 경우.

## 요청
<a name="API_BatchWriteItems_RequestParameters"></a>

### 구문
<a name="API_BatchWriteItems_RequestParameters.syntax"></a>

```
// This header is abbreviated. For a sample of a complete header, see DynamoDB 하위 수준 API.
POST / HTTP/1.1
x-amz-target: DynamoDB_20111205.BatchGetItem 
content-type: application/x-amz-json-1.0 

{
  "RequestItems" :  RequestItems
} 

RequestItems
{
     "TableName1" :  [ Request, Request, ... ],
     "TableName2" :  [ Request, Request, ... ],
     ...
}

Request ::=
  PutRequest | DeleteRequest

PutRequest ::=
{
  "PutRequest" : {
     "Item" : {
        "Attribute-Name1" : Attribute-Value,
        "Attribute-Name2" : Attribute-Value,
         ...
     }
  }
}

DeleteRequest ::=
{
   "DeleteRequest" : {
      "Key" : PrimaryKey-Value
   }
}


PrimaryKey-Value ::= HashTypePK | HashAndRangeTypePK

HashTypePK ::=
{ 
   "HashKeyElement" : Attribute-Value
}

HashAndRangeTypePK
{ 
   "HashKeyElement" : Attribute-Value,
   "RangeKeyElement" : Attribute-Value, 
}

Attribute-Value ::= String | Numeric| Binary | StringSet | NumericSet | BinarySet 

Numeric ::=
{
   "N": "Number"
}

String ::=
{
   "S": "String"
}

Binary ::=
{
    "B": "Base64 encoded binary data"
}

StringSet ::=
{
   "SS": [ "String1", "String2", ... ]
}

NumberSet ::=
{
   "NS": [ "Number1", "Number2", ... ]
}  

BinarySet ::=
{
   "BS": [ "Binary1", "Binary2", ... ]
}
```

요청 본문에서 `RequestItems` JSON 객체는 수행할 작업을 설명합니다. 작업은 테이블별로 그룹화됩니다. `BatchWriteItem`을 사용하여 여러 테이블에서 여러 항목을 업데이트하거나 삭제할 수 있습니다. 각 쓰기 요청별로 작업에 대한 세부 정보 앞에 있는 요청 유형(`PutItem`, `DeleteItem`)을 확인해야 합니다.
+ `PutRequest`의 경우, 항목, 즉 속성 및 해당 값 목록을 제공합니다.
+ `DeleteRequest`의 경우, 기본 키 이름과 값을 제공합니다.

## 응답
<a name="API_BatchWriteItems_ResponseElements"></a>

### 구문
<a name="API_BatchWriteItems_ResponseElements.syntax"></a>

다음은 응답에서 반환한 JSON 본문의 구문입니다.

```
{
  "Responses" :         ConsumedCapacityUnitsByTable
  "UnprocessedItems" :  RequestItems
} 

ConsumedCapacityUnitsByTable
{
    "TableName1" : { "ConsumedCapacityUnits", : NumericValue },
    "TableName2" : { "ConsumedCapacityUnits", : NumericValue },
     ...
}

RequestItems
This syntax is identical to the one described in the JSON syntax in the request.
```

## 특수 오류
<a name="API_BatchWriteItems_SpecialErrors"></a>

이 작업에는 특정 오류가 없습니다.

## 예시
<a name="API_BatchWriteItems_Examples"></a>

다음 예에서는 HTTP POST 요청 및 `BatchWriteItem` 작업의 응답을 보여 줍니다. 이 요청은 Reply 및 Thread 테이블에서 다음 작업을 지정합니다.
+ Reply 테이블의 항목 추가 및 삭제
+ Thread 테이블로 항목 추가

AWS SDK를 사용하는 예는 [DynamoDB의 항목 및 속성 작업](WorkingWithItems.md) 단원을 참조하세요.

### 샘플 요청
<a name="API_BatchWriteItems_Examples_Request"></a>

```
// This header is abbreviated. For a sample of a complete header, see DynamoDB 하위 수준 API.
POST / HTTP/1.1
x-amz-target: DynamoDB_20111205.BatchGetItem 
content-type: application/x-amz-json-1.0 

{
  "RequestItems":{
    "Reply":[
      {
        "PutRequest":{
          "Item":{
            "ReplyDateTime":{
              "S":"2012-04-03T11:04:47.034Z"
            },
            "Id":{
              "S":"DynamoDB#DynamoDB Thread 5"
            }
          }
        }
      },
      {
        "DeleteRequest":{
          "Key":{
            "HashKeyElement":{
              "S":"DynamoDB#DynamoDB Thread 4"
            },
            "RangeKeyElement":{
              "S":"oops - accidental row"
            }
          }
        }
      }
    ],
    "Thread":[
      {
        "PutRequest":{
          "Item":{
            "ForumName":{
              "S":"DynamoDB"
            },
            "Subject":{
              "S":"DynamoDB Thread 5"
            }
          }
        }
      }
    ]
  }
}
```

### 샘플 응답
<a name="API_BatchWriteItems_Examples_Response"></a>

다음 응답 예에서는 Thread 및 Reply 테이블에서 성공한 추가 작업 및 Reply 테이블에서 (테이블에서 할당된 처리량을 초과하는 경우 발생하는 병목 현상 등의 이유로) 실패한 삭제 작업을 보여 줍니다. JSON 응답에서 다음을 참고하세요.
+ `Responses` 객체는 `Thread` 및 `Reply` 테이블에서 성공적인 추가 작업의 결과로 이 두 테이블에서 1 용량 단위가 사용되었다는 것을 보여 줍니다.
+ `UnprocessedItems` 객체는 `Reply` 테이블에서 성공하지 못한 삭제 작업을 보여 줍니다. 새 `BatchWriteItem` 호출을 발행하여 처리되지 않은 이러한 요청을 처리할 수 있습니다.

```
HTTP/1.1 200 OK
x-amzn-RequestId: G8M9ANLOE5QA26AEUHJKJE0ASBVV4KQNSO5AEMVJF66Q9ASUAAJG
Content-Type: application/x-amz-json-1.0
Content-Length: 536
Date: Thu, 05 Apr 2012 18:22:09 GMT

{
   "Responses":{
      "Thread":{
         "ConsumedCapacityUnits":1.0
      },
      "Reply":{
         "ConsumedCapacityUnits":1.0
      }
   },
   "UnprocessedItems":{
      "Reply":[
         {
            "DeleteRequest":{
               "Key":{
                  "HashKeyElement":{
                     "S":"DynamoDB#DynamoDB Thread 4"
                  },
                  "RangeKeyElement":{
                     "S":"oops - accidental row"
                  }
               }
            }
         }
      ]
   }
}
```

# CreateTable
<a name="API_CreateTable_v20111205"></a>

**중요**  
***이 단원에서 언급되는 API 버전 2011-12-05는 사용 중단되었으며 새 애플리케이션에 사용해서는 안 됩니다.***  
 **현재 하위 수준 API에 대한 설명서는 [Amazon DynamoDB API 참조](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/) 섹션을 참조하세요.**

## 설명
<a name="API_CreateTable_Description"></a>

`CreateTable` 작업은 사용자 계정에 새 테이블을 추가합니다.

이 테이블 이름은 요청을 실행하는 AWS 계정 및 요청을 수신하는 AWS 리전(예: dynamodb.us-west-2.amazonaws.com)과 연동된 테이블 이름과 달라야 합니다. 각 DynamoDB 엔드포인트는 완전히 독립적입니다. 예를 들어, dynamodb.us-west-2.amazonaws.com 및 dynamodb.us-west-1.amazonaws.com에 "MyTable"이라는 테이블이 각각 있는 경우 해당 테이블은 완전히 독립적이며 데이터를 공유하지 않습니다.

`CreateTable` 작업은 비동기 워크플로를 트리거하여 테이블 만들기를 시작합니다. DynamoDB는 테이블이 `ACTIVE` 상태가 될 때까지 테이블 상태(`CREATING`)를 즉시 반환합니다. 테이블이 `ACTIVE` 상태인 경우 데이터 플레인 작업을 수행할 수 있습니다.

[DescribeTables](API_DescribeTables_v20111205.md) 작업을 사용하여 테이블 상태를 확인합니다.

## 요청
<a name="API_CreateTable_RequestParameters"></a>

### 구문
<a name="API_CreateTable_RequestParameters.syntax"></a>

```
// This header is abbreviated. 
// For a sample of a complete header, see DynamoDB 하위 수준 API.
POST / HTTP/1.1 
x-amz-target: DynamoDB_20111205.CreateTable 
content-type: application/x-amz-json-1.0 

{"TableName":"Table1",
    "KeySchema":
        {"HashKeyElement":{"AttributeName":"AttributeName1","AttributeType":"S"},
        "RangeKeyElement":{"AttributeName":"AttributeName2","AttributeType":"N"}},
    "ProvisionedThroughput":{"ReadCapacityUnits":5,"WriteCapacityUnits":10}
}
```


****  

|  명칭  |  설명  |  필수 | 
| --- | --- | --- | 
|  TableName  |  생성할 테이블 이름.허용되는 문자는 a\$1z, A\$1Z, 0\$19, '\$1'(밑줄), '-'(대시) 및 '.'(점)입니다. 이름에 포함되는 문자 길이는 3\$1255자입니다. 유형: 문자열  |  예  | 
|  KeySchema  | 테이블의 기본 키(단순 또는 복합) 구조. `HashKeyElement`에서는 이름-값 페어가 필수이지만 `RangeKeyElement`에서는 선택 사항입니다(복합 기본 키의 경우에만 필요함). 기본 키에 대한 자세한 내용은 [프라이머리 키](HowItWorks.CoreComponents.md#HowItWorks.CoreComponents.PrimaryKey) 단원을 참조하세요.기본 키 요소 이름은 1\$1255자로 지정할 수 있으며 문자에는 제한이 없습니다. AttributeType에 대해 가능한 값은 "S"(문자열), "N"(숫자) 또는 "B"(이진수)입니다.형식: `HashKeyElement` 맵, 또는 복합 기본 키의 `HashKeyElement` 및 `RangeKeyElement` | 예 | 
|  ProvisionedThroughput  | 지정 테이블의 새로운 처리량으로서 ReadCapacityUnits 값과 WriteCapacityUnits 값으로 구성됩니다. 세부 정보는 [DynamoDB 프로비저닝된 용량 모드](provisioned-capacity-mode.md)을 참조하세요. 현재 최대값/최소값은 [Amazon DynamoDB의 할당량](ServiceQuotas.md)를 참조하세요. 유형: 배열  | 예 | 
| ProvisionedThroughput: ReadCapacityUnits |  DynamoDB가 다른 작업과 로드 밸런스를 맞출 때까지 지정 테이블에서 사용되는 consistent `ReadCapacityUnits`의 초당 최소 수를 설정합니다. Eventually consistent read 작업은 consistent read 작업에 비해 필요한 부하가 적습니다. 따라서 초당 consistent `ReadCapacityUnits`를 50으로 설정하면 초당 eventually consistent `ReadCapacityUnits`는 100이 됩니다.형식: 숫자  | 예 | 
| ProvisionedThroughput: WriteCapacityUnits | DynamoDB가 다른 작업과 로드 밸런스를 맞출 때까지 지정 테이블에서 사용되는 WriteCapacityUnits의 초당 최소 수를 설정합니다.형식: 숫자  | 예 | 

## 응답
<a name="API_CreateTable_CommonResponseElements"></a>

### 구문
<a name="API_CreateTable_CommonResponseElements.syntax"></a>

```
HTTP/1.1 200 OK
x-amzn-RequestId: CSOC7TJPLR0OOKIRLGOHVAICUFVV4KQNSO5AEMVJF66Q9ASUAAJG
content-type: application/x-amz-json-1.0
content-length: 311
Date: Tue, 12 Jul 2011 21:31:03 GMT

{"TableDescription":
    {"CreationDateTime":1.310506263362E9,
    "KeySchema":
        {"HashKeyElement":{"AttributeName":"AttributeName1","AttributeType":"S"},
        "RangeKeyElement":{"AttributeName":"AttributeName2","AttributeType":"N"}},
    "ProvisionedThroughput":{"ReadCapacityUnits":5,"WriteCapacityUnits":10},
    "TableName":"Table1",
    "TableStatus":"CREATING"
    }
}
```


****  

|  명칭  |  설명  | 
| --- | --- | 
| TableDescription  | 테이블 속성에 대한 컨테이너 | 
| CreationDateTime | [UNIX epoch 시간](http://www.epochconverter.com/) 형식의 테이블 생성 날짜형식: 숫자 | 
| KeySchema  | 테이블의 기본 키(단순 또는 복합) 구조. `HashKeyElement`에서는 이름-값 페어가 필수이지만 `RangeKeyElement`에서는 선택 사항입니다(복합 기본 키의 경우에만 필요함). 기본 키에 대한 자세한 내용은 [프라이머리 키](HowItWorks.CoreComponents.md#HowItWorks.CoreComponents.PrimaryKey) 단원을 참조하세요.형식: `HashKeyElement` 맵, 또는 복합 기본 키의 `HashKeyElement` 및 `RangeKeyElement` | 
| ProvisionedThroughput  |  지정 테이블의 처리량으로서 `ReadCapacityUnits` 값과 `WriteCapacityUnits` 값으로 구성됩니다. [DynamoDB 프로비저닝된 용량 모드](provisioned-capacity-mode.md) 섹션을 참조하세요. 유형: 배열   | 
| ProvisionedThroughput :ReadCapacityUnits |  DynamoDB가 다른 작업과 로드 밸런스를 맞출 때까지 사용되는 `ReadCapacityUnits`의 초당 최소 수입니다.형식: 숫자  | 
| ProvisionedThroughput :WriteCapacityUnits |  `WriteCapacityUnits`가 다른 작업과 로드 밸런스를 맞출 때까지 사용되는 `ReadCapacityUnits`의 초당 최소 수입니다.형식: 숫자  | 
|  TableName  |  생성된 테이블 이름 유형: 문자열  | 
|  TableStatus  | 현재 테이블 상태(`CREATING`) 테이블이 `ACTIVE` 상태일 때만 데이터를 입력할 수 있습니다.[DescribeTables](API_DescribeTables_v20111205.md) API를 사용하여 테이블 상태를 확인합니다.유형: 문자열 | 

## 특수 오류
<a name="API_CreateTable_SpecialErrors"></a>


****  

|  Error  |  설명  | 
| --- | --- | 
|  ResourceInUseException  | 기존 테이블을 다시 만들려고 시도합니다. | 
|  LimitExceededException  | 동시 테이블 요청 수(`CREATING`, `DELETING` 또는 `UPDATING` 상태인 테이블의 누적 수)가 허용된 최대값을 초과합니다. 현재 최대값/최소값은 [Amazon DynamoDB의 할당량](ServiceQuotas.md)를 참조하세요. .  | 

## 예시
<a name="API_CreateTable_Examples"></a>

다음 예에서는 문자열과 숫자를 포함하는 복합 기본 키가 있는 테이블을 만듭니다. AWS SDK를 사용하는 예는 [DynamoDB의 테이블 및 데이터 작업](WorkingWithTables.md) 단원을 참조하세요.

### 샘플 요청
<a name="API_CreateTable_Examples_Request"></a>

```
// This header is abbreviated. 
// For a sample of a complete header, see DynamoDB 하위 수준 API.
POST / HTTP/1.1 
x-amz-target: DynamoDB_20111205.CreateTable 
content-type: application/x-amz-json-1.0


{"TableName":"comp-table",
    "KeySchema":
        {"HashKeyElement":{"AttributeName":"user","AttributeType":"S"},
        "RangeKeyElement":{"AttributeName":"time","AttributeType":"N"}},
    "ProvisionedThroughput":{"ReadCapacityUnits":5,"WriteCapacityUnits":10}
}
```

### 샘플 응답
<a name="API_CreateTable_Examples_Response"></a>

```
HTTP/1.1 200 OK
x-amzn-RequestId: CSOC7TJPLR0OOKIRLGOHVAICUFVV4KQNSO5AEMVJF66Q9ASUAAJG
content-type: application/x-amz-json-1.0
content-length: 311
Date: Tue, 12 Jul 2011 21:31:03 GMT

{"TableDescription":
    {"CreationDateTime":1.310506263362E9,
    "KeySchema":
        {"HashKeyElement":{"AttributeName":"user","AttributeType":"S"},
        "RangeKeyElement":{"AttributeName":"time","AttributeType":"N"}},
    "ProvisionedThroughput":{"ReadCapacityUnits":5,"WriteCapacityUnits":10},
    "TableName":"comp-table",
    "TableStatus":"CREATING"
    }
}
```

## 관련 작업
<a name="API_CreateTable_Related_Actions"></a>
+  [DescribeTables](API_DescribeTables_v20111205.md) 
+  [DeleteTable](API_DeleteTable_v20111205.md)

# DeleteItem
<a name="API_DeleteItem_v20111205"></a>

**중요**  
***이 단원에서 언급되는 API 버전 2011-12-05는 사용 중단되었으며 새 애플리케이션에 사용해서는 안 됩니다.***  
 **현재 하위 수준 API에 대한 설명서는 [Amazon DynamoDB API 참조](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/) 섹션을 참조하세요.**

## 설명
<a name="API_DeleteItem_Description"></a>

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

**참고**  
속성이나 값 없이 `DeleteItem`을 지정하면 항목의 모든 속성이 삭제됩니다.  
조건을 지정하지 않으면 `DeleteItem`은 idempotent 작업이 됩니다. 동일한 항목이나 속성에서 여러 번 실행할 경우 오류 응답이 발생하지 *않습니다*.  
특정 조건이 충족될 경우 항목과 속성을 삭제할 때만 조건부 삭제가 유용합니다. 조건이 충족되면 DynamoDB에서 삭제를 수행합니다. 그렇지 않으면 항목이 삭제되지 않습니다.  
작업마다 한 속성에 대해 예상되는 조건부 검사를 수행할 수 있습니다.

## 요청
<a name="API_DeleteItem_RequestParameters"></a>

### 구문
<a name="API_DeleteItem_RequestParameters.syntax"></a>

```
// 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  |  삭제할 항목이 포함된 테이블 이름입니다. 유형: 문자열  |  예  | 
|  Key  | 항목을 정의하는 기본 키입니다. 기본 키에 대한 자세한 내용은 [프라이머리 키](HowItWorks.CoreComponents.md#HowItWorks.CoreComponents.PrimaryKey) 단원을 참조하세요.형식: 해당 값에 대한 `HashKeyElement` 및 해당 값에 대한 `RangeKeyElement`의 맵 | 예 | 
| Expected  | 조건부 삭제의 속성을 지정합니다. `Expected` 파라미터를 사용하면 속성 이름을 제공하고, DynamoDB에서 속성을 삭제하기 전에 속성에 특정 값이 있는지 확인할지 여부를 지정할 수 있습니다.형식: 속성 이름의 맵 | 아니요 | 
| Expected:AttributeName  | 조건부 입력에 대한 속성 이름입니다.유형: 문자열 | 아니요 | 
| Expected:AttributeName: ExpectedAttributeValue | 이 파라미터를 사용하여 속성 이름-값 페어의 값이 존재할지 여부를 지정합니다.다음 JSON 표기법은 항목의 "Color" 속성이 없을 경우 해당 항목을 삭제합니다.<pre>"Expected" :<br />	{"Color":{"Exists":false}}</pre>다음 JSON 표기법은 항목을 삭제하기 전에 이름이 "Color"인 속성의 기존 값이 "Yellow"인지 여부를 확인합니다.<pre>"Expected" : <br />	{"Color":{"Exists":true},{"Value":{"S":"Yellow"}}}</pre>기본적으로 `Expected` 파라미터를 사용하고 `Value`를 제공하는 경우 DynamoDB는 속성이 존재하고 바꿀 현재 값이 있는 것으로 가정합니다. 따라서 `{"Exists":true}`가 내재되어 있으므로 지정하지 않아도 됩니다. 요청을 다음과 같이 줄일 수 있습니다.<pre>"Expected" : <br />	{"Color":{"Value":{"S":"Yellow"}}}</pre> 확인할 속성 값이 없을 때 `{"Exists":true}`를 지정하면 DynamoDB는 오류를 반환합니다.  | 아니요 | 
| ReturnValues  | 속성 이름-값 페어가 삭제되기 전에 이를 가져오려면 이 파라미터를 사용합니다. 가능한 파라미터 값은 `NONE`(기본) 또는 `ALL_OLD`입니다. `ALL_OLD`가 지정되면 이전 항목의 내용이 반환됩니다. 이 파라미터가 제공되지 않거나 `NONE`인 경우, 아무 것도 반환되지 않습니다.유형: 문자열 | 아니요 | 

## 응답
<a name="API_DeleteItem_CommonResponseElements"></a>

### 구문
<a name="API_DeleteItem_CommonResponseElements.syntax"></a>

```
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 프로비저닝된 용량 모드](provisioned-capacity-mode.md) 섹션을 참조하세요. 형식: 숫자 | 

## 특수 오류
<a name="API_DeleteItem_SpecialErrors"></a>


****  

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

## 예
<a name="API_DeleteItem_Examples"></a>

### 샘플 요청
<a name="API_DeleteItem_Examples_Request"></a>

```
// 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"
}
```

### 샘플 응답
<a name="API_DeleteItem_Examples_Response"></a>

```
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
}
```

## 관련 작업
<a name="API_DeleteItem_Related_Actions"></a>
+  [PutItem](API_PutItem_v20111205.md) 

# DeleteTable
<a name="API_DeleteTable_v20111205"></a>

**중요**  
***이 단원에서 언급되는 API 버전 2011-12-05는 사용 중단되었으며 새 애플리케이션에 사용해서는 안 됩니다.***  
 **현재 하위 수준 API에 대한 설명서는 [Amazon DynamoDB API 참조](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/) 섹션을 참조하세요.**

## 설명
<a name="API_DeleteTable_Description"></a>

`DeleteTable` 작업은 테이블과 테이블에 속한 모든 항목을 삭제합니다. `DeleteTable` 요청 이후 DynamoDB가 삭제를 완료할 때까지 지정한 테이블은 `DELETING` 상태가 됩니다. 테이블을 삭제하려면 해당 테이블 상태가 `ACTIVE`이어야 합니다. 테이블이 `CREATING` 또는 `UPDATING` 상태인 경우에는 DynamoDB가 `ResourceInUseException` 오류를 반환합니다. 그리고 지정한 테이블이 존재하지 않는 경우에는 DynamoDB가 `ResourceNotFoundException`을 반환합니다. 테이블이 이미 `DELETING` 상태라면 어떠한 오류도 반환되지 않습니다.

**참고**  
DynamoDB는 테이블 삭제가 완료될 때까지는 `DELETING` 상태인 테이블에서 `GetItem`, `PutItem` 등의 데이터 플레인 작업 요청을 계속 허용할 수 있습니다.

테이블은 요청을 실행하는 AWS 계정 및 요청을 수신하는 AWS 리전(예: dynamodb.us-west-1.amazonaws.com)과 관련된 테이블에서 고유해야 합니다. 각 DynamoDB 엔드포인트는 완전히 독립적입니다. 예를 들어, dynamodb.us-west-2.amazonaws.com 및 dynamodb.us-west-1.amazonaws.com에 "MyTable"이라는 테이블이 각각 있는 경우 해당 테이블은 완전히 독립적이며 데이터를 공유하지 않습니다. 즉, 한 테이블을 삭제해도 다른 테이블이 삭제되지 않습니다.

[DescribeTables](API_DescribeTables_v20111205.md) 작업을 사용하여 테이블 상태를 확인합니다.

## 요청
<a name="API_DeleteTable_RequestParameters"></a>

### 구문
<a name="API_DeleteTable_RequestParameters.syntax"></a>

```
// This header is abbreviated. 
// For a sample of a complete header, see DynamoDB 하위 수준 API.
POST / HTTP/1.1 
x-amz-target: DynamoDB_20111205.DeleteTable 
content-type: application/x-amz-json-1.0

{"TableName":"Table1"}
```


****  

|  명칭  |  설명  |  필수 | 
| --- | --- | --- | 
|  TableName  |   삭제할 테이블 이름   유형: 문자열   |  예  | 

## 응답
<a name="API_DeleteTable_CommonResponseElements"></a>

### 구문
<a name="API_DeleteTable_CommonResponseElements.syntax"></a>

```
HTTP/1.1 200 OK
x-amzn-RequestId: 4HONCKIVH1BFUDQ1U68CTG3N27VV4KQNSO5AEMVJF66Q9ASUAAJG
content-type: application/x-amz-json-1.0
content-length: 311
Date: Sun, 14 Aug 2011 22:56:22 GMT

{"TableDescription":
    {"CreationDateTime":1.313362508446E9,
    "KeySchema":
        {"HashKeyElement":{"AttributeName":"user","AttributeType":"S"},
        "RangeKeyElement":{"AttributeName":"time","AttributeType":"N"}},
    "ProvisionedThroughput":{"ReadCapacityUnits":10,"WriteCapacityUnits":10},
    "TableName":"Table1",
    "TableStatus":"DELETING"
    }
}
```


****  

|  명칭  |  설명  | 
| --- | --- | 
| TableDescription  | 테이블 속성에 대한 컨테이너 | 
| CreationDateTime | 테이블 생성 날짜형식: 숫자  | 
| KeySchema  | 테이블의 기본 키(단순 또는 복합) 구조. `HashKeyElement`에서는 이름-값 페어가 필수이지만 `RangeKeyElement`에서는 선택 사항입니다(복합 기본 키의 경우에만 필요함). 기본 키에 대한 자세한 내용은 [프라이머리 키](HowItWorks.CoreComponents.md#HowItWorks.CoreComponents.PrimaryKey) 단원을 참조하세요.형식: `HashKeyElement` 맵, 또는 복합 기본 키의 `HashKeyElement` 및 `RangeKeyElement` | 
| ProvisionedThroughput  | 지정 테이블의 처리량으로서 ReadCapacityUnits 값과 WriteCapacityUnits 값으로 구성됩니다. [DynamoDB 프로비저닝된 용량 모드](provisioned-capacity-mode.md) 섹션을 참조하세요. | 
| ProvisionedThroughput: ReadCapacityUnits |  DynamoDB가 다른 작업과 로드 밸런스를 맞출 때까지 지정 테이블에서 사용되는 `ReadCapacityUnits`의 초당 최소 수입니다.형식: 숫자  | 
| ProvisionedThroughput: WriteCapacityUnits | DynamoDB가 다른 작업과 로드 밸런스를 맞출 때까지 지정 테이블에서 사용되는 `WriteCapacityUnits`의 초당 최소 수입니다.형식: 숫자  | 
|  TableName  |  삭제된 테이블 이름 유형: 문자열   | 
|  TableStatus  | 현재 테이블 상태(DELETING) 이후 삭제된 테이블에 대해 요청을 실행하면 resource not found가 반환됩니다.[DescribeTables](API_DescribeTables_v20111205.md) 작업을 사용하여 테이블 상태를 확인합니다.유형: 문자열 | 

## 특수 오류
<a name="API_DeleteTable_SpecialErrors"></a>


****  

|  Error  |  설명  | 
| --- | --- | 
|  ResourceInUseException  |  테이블이 CREATING 또는 UPDATING 상태이면 삭제할 수 없습니다. | 

## 예
<a name="API_DeleteTable_Examples"></a>

### 샘플 요청
<a name="API_DeleteTable_Examples_Request"></a>

```
// This header is abbreviated. For a sample of a complete header, see DynamoDB 하위 수준 API.
POST / HTTP/1.1 
x-amz-target: DynamoDB_20111205.DeleteTable
content-type: application/x-amz-json-1.0
content-length: 40

{"TableName":"favorite-movies-table"}
```

### 샘플 응답
<a name="API_DeleteTable_Examples_Response"></a>

```
HTTP/1.1 200 OK
x-amzn-RequestId: 4HONCKIVH1BFUDQ1U68CTG3N27VV4KQNSO5AEMVJF66Q9ASUAAJG
content-type: application/x-amz-json-1.0
content-length: 160
Date: Sun, 14 Aug 2011 17:20:03 GMT

{"TableDescription":
    {"CreationDateTime":1.313362508446E9,
    "KeySchema":
        {"HashKeyElement":{"AttributeName":"name","AttributeType":"S"}},
    "TableName":"favorite-movies-table",
    "TableStatus":"DELETING"
}
```

## 관련 작업
<a name="API_DeleteTable_Related_Actions"></a>
+  [CreateTable](API_CreateTable_v20111205.md) 
+  [DescribeTables](API_DescribeTables_v20111205.md) 

# DescribeTables
<a name="API_DescribeTables_v20111205"></a>

**중요**  
***이 단원에서 언급되는 API 버전 2011-12-05는 사용 중단되었으며 새 애플리케이션에 사용해서는 안 됩니다.***  
 **현재 하위 수준 API에 대한 설명서는 [Amazon DynamoDB API 참조](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/) 섹션을 참조하세요.**

## 설명
<a name="API_DescribeTables_Description"></a>

현재 테이블 상태, 기본 키 스키마, 그리고 테이블 생성 날짜 등 테이블 관련 정보를 반환합니다. DescribeTable 결과는 최종 일관성을 따릅니다. 테이블 생성 프로세스에서 너무 일찍 DescribeTable을 사용하면 DynamoDB가 `ResourceNotFoundException`을 반환합니다. 그리고, 테이블 업데이트 프로세스에서 너무 일찍 DescribeTable을 사용할 때도 새로운 값이 바로 적용되지 않을 수도 있습니다.

## 요청
<a name="API_DescribeTables_RequestParameters"></a>

### 구문
<a name="API_DescribeTables_RequestParameters.syntax"></a>

```
// This header is abbreviated. 
// For a sample of a complete header, see DynamoDB 하위 수준 API.
POST / HTTP/1.1 
x-amz-target: DynamoDB_20111205.DescribeTable
content-type: application/x-amz-json-1.0

{"TableName":"Table1"}
```


****  

|  명칭  |  설명  |  필수 | 
| --- | --- | --- | 
|  TableName  |  설명할 테이블 이름  유형: 문자열   |  예  | 

## 응답
<a name="API_DescribeTables_ResponseElements"></a>

### 구문
<a name="API_DescribeTables_ResponseElements.syntax"></a>

```
HTTP/1.1 200 
x-amzn-RequestId: 8966d095-71e9-11e0-a498-71d736f27375
content-type: application/x-amz-json-1.0
Content-Length: 543


{"Table":
    {"CreationDateTime":1.309988345372E9,
    ItemCount:1,
    "KeySchema":
        {"HashKeyElement":{"AttributeName":"AttributeName1","AttributeType":"S"},
        "RangeKeyElement":{"AttributeName":"AttributeName2","AttributeType":"N"}},
    "ProvisionedThroughput":{"LastIncreaseDateTime": Date, "LastDecreaseDateTime": Date, "ReadCapacityUnits":10,"WriteCapacityUnits":10},
    "TableName":"Table1",
    "TableSizeBytes":1,
    "TableStatus":"ACTIVE"
    }
}
```


****  

|  명칭  |  설명  | 
| --- | --- | 
|  Table  |  설명할 테이블이 저장되는 컨테이너 유형: 문자열  | 
| CreationDateTime | [UNIX epoch 시간](http://www.epochconverter.com/) 형식의 테이블 생성 날짜 | 
|  ItemCount  |  지정된 테이블의 항목 수. DynamoDB는 약 6시간마다 이 값을 업데이트합니다. 최근 변경 사항이 이 값에 반영되지 않기도 합니다. 형식: 숫자  | 
|  KeySchema  | 테이블의 기본 키(단순 또는 복합) 구조. HashKeyElement에서는 이름-값 페어가 필수이지만 RangeKeyElement에서는 선택 사항입니다(복합 기본 키의 경우에만 필요함). 최대 해시 키 크기는 2,048byte입니다. 최대 범위 키 크기는 1,024byte입니다. 두 키의 크기 제한은 별도로 적용됩니다(해시 \$1 범위 키 2,048 \$1 1,024 합산). 기본 키에 대한 자세한 내용은 [프라이머리 키](HowItWorks.CoreComponents.md#HowItWorks.CoreComponents.PrimaryKey) 단원을 참조하세요. | 
| ProvisionedThroughput  | 지정 테이블의 처리량으로 LastIncreaseDateTime 값(있는 경우), LastDecreaseDateTime 값(있는 경우), ReadCapacityUnits 값 및 WriteCapacityUnits 값으로 구성됩니다. 테이블의 처리량이 늘거나 줄지 않으면 DynamoDB도 해당 요소의 값을 반환하지 않습니다. [DynamoDB 프로비저닝된 용량 모드](provisioned-capacity-mode.md) 섹션을 참조하세요.유형: 배열  | 
|  TableName  |  요청한 테이블 이름  유형: 문자열  | 
|  TableSizeBytes  |  지정된 테이블의 총 크기(바이트). DynamoDB는 약 6시간마다 이 값을 업데이트합니다. 최근 변경 사항이 이 값에 반영되지 않기도 합니다. 형식: 숫자  | 
|  TableStatus  | 현재 테이블 상태(CREATING, ACTIVE, DELETING 또는 UPDATING). 테이블이 ACTIVE 상태일 때만 데이터를 추가할 수 있습니다. | 

## 특수 오류
<a name="API_DescribeTables_SpecialErrors"></a>

이 작업에는 특정 오류가 없습니다.

## 예시
<a name="API_DescribeTables_Examples"></a>

 다음은 "comp-table"이라는 이름의 테이블에 대해 DescribeTable 작업을 사용해 HTTP POST 요청 및 응답을 나타낸 예제입니다. 테이블은 복합 기본 키를 갖고 있습니다.

### 샘플 요청
<a name="API_DescribeTables_Examples_Request"></a>

```
// This header is abbreviated. 
// For a sample of a complete header, see DynamoDB 하위 수준 API.
POST / HTTP/1.1 
x-amz-target: DynamoDB_20111205.DescribeTable
content-type: application/x-amz-json-1.0

{"TableName":"users"}
```

### 샘플 응답
<a name="API_DescribeTables_Examples_Response"></a>

```
HTTP/1.1 200 
x-amzn-RequestId: 8966d095-71e9-11e0-a498-71d736f27375
content-type: application/x-amz-json-1.0
content-length: 543

{"Table":
    {"CreationDateTime":1.309988345372E9,
    "ItemCount":23,
    "KeySchema":
        {"HashKeyElement":{"AttributeName":"user","AttributeType":"S"},
        "RangeKeyElement":{"AttributeName":"time","AttributeType":"N"}},
    "ProvisionedThroughput":{"LastIncreaseDateTime": 1.309988345384E9, "ReadCapacityUnits":10,"WriteCapacityUnits":10},
    "TableName":"users",
    "TableSizeBytes":949,
    "TableStatus":"ACTIVE"
    }
}
```

## 관련 작업
<a name="API_DescribeTables_Related_Actions"></a>
+  [CreateTable](API_CreateTable_v20111205.md) 
+  [DeleteTable](API_DeleteTable_v20111205.md) 
+  [ListTables](API_ListTables_v20111205.md) 

# GetItem
<a name="API_GetItem_v20111205"></a>

**중요**  
***이 단원에서 언급되는 API 버전 2011-12-05는 사용 중단되었으며 새 애플리케이션에 사용해서는 안 됩니다.***  
 **현재 하위 수준 API에 대한 설명서는 [Amazon DynamoDB API 참조](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/) 섹션을 참조하세요.**

## 설명
<a name="API_GetItem_Description"></a>

`GetItem` 작업은 기본 키와 일치하는 항목에 대한 `Attributes` 세트를 반환합니다. 일치하는 항목이 없으면 `GetItem`이 데이터를 반환하지 않습니다.

`GetItem` 작업은 기본적으로 최종적 일관된 읽기(Eventually Consistent Read)를 제공합니다. 애플리케이션에서 최종적 일관된 읽기(Eventually Consistent Read)를 사용할 수 없는 경우 `ConsistentRead`를 사용하세요. 이 작업은 표준 읽기보다 오래 걸릴 수 있지만 항상 마지막으로 업데이트된 값을 반환합니다. 자세한 내용은 [DynamoDB 읽기 일관성](HowItWorks.ReadConsistency.md) 단원을 참조하십시오.

## 요청
<a name="API_GetItem_RequestParameters"></a>

### 구문
<a name="API_GetItem_RequestParameters.syntax"></a>

```
// This header is abbreviated.
// For a sample of a complete header, see DynamoDB 하위 수준 API.
POST / HTTP/1.1 
x-amz-target: DynamoDB_20111205.GetItem
content-type: application/x-amz-json-1.0 

{"TableName":"Table1",
 	"Key": 
		{"HashKeyElement": {"S":"AttributeValue1"},
		"RangeKeyElement": {"N":"AttributeValue2"} 
	},
	"AttributesToGet":["AttributeName3","AttributeName4"],
	"ConsistentRead":Boolean
}
```


****  

|  명칭  |  설명  |  필수 | 
| --- | --- | --- | 
|  TableName  |  요청된 항목을 포함하는 테이블의 이름입니다. 유형: 문자열  |  예  | 
|  Key  | 항목을 정의하는 기본 키 값입니다. 기본 키에 대한 자세한 내용은 [프라이머리 키](HowItWorks.CoreComponents.md#HowItWorks.CoreComponents.PrimaryKey) 단원을 참조하세요.형식: 해당 값에 대한 `HashKeyElement` 및 해당 값에 대한 `RangeKeyElement`의 맵 | 예 | 
| AttributesToGet  | 속성 이름의 배열입니다. 속성 이름을 지정하지 않으면 모든 속성이 반환됩니다. 일부 속성을 찾을 수 없는 경우 결과에 표시되지 않습니다.유형: 배열 | 아니요 | 
| ConsistentRead  | `true`로 설정하면 consistent read가 발생하고, 그 밖의 경우에는 eventually consistent가 사용됩니다.타입: 부울 | 아니요 | 

## 응답
<a name="API_GetItem_ResponseElements"></a>

### 구문
<a name="API_GetItem_ResponseElements.syntax"></a>

```
HTTP/1.1 200 
x-amzn-RequestId: 8966d095-71e9-11e0-a498-71d736f27375 
content-type: application/x-amz-json-1.0
content-length: 144

{"Item":{
	"AttributeName3":{"S":"AttributeValue3"},
	"AttributeName4":{"N":"AttributeValue4"},
	"AttributeName5":{"B":"dmFsdWU="}
	},
"ConsumedCapacityUnits": 0.5
}
```


****  

|  명칭  |  설명  | 
| --- | --- | 
|  Item  | 요청된 속성을 포함합니다.형식: 속성 이름-값 페어의 맵 | 
| ConsumedCapacityUnits | 작업에 사용된 읽기 용량 단위의 수. 이 값은 할당 처리량에 적용되는 수를 나타냅니다. 존재하지 않는 항목에 대한 요청은 읽기 형식에 따라 최소 읽기 용량 단위를 사용합니다. 자세한 정보는 [DynamoDB 프로비저닝된 용량 모드](provisioned-capacity-mode.md) 섹션을 참조하세요. 형식: 숫자 | 

## 특수 오류
<a name="API_GetItem_SpecialErrors"></a>

이 작업에는 특정 오류가 없습니다.

## 예시
<a name="API_GetItem_Examples"></a>

 AWS SDK를 사용하는 예는 [DynamoDB의 항목 및 속성 작업](WorkingWithItems.md) 단원을 참조하세요.

### 샘플 요청
<a name="API_GetItem_Examples_Request"></a>

```
// This header is abbreviated.
// For a sample of a complete header, see DynamoDB 하위 수준 API.
POST / HTTP/1.1 
x-amz-target: DynamoDB_20111205.GetItem
content-type: application/x-amz-json-1.0 

{"TableName":"comptable",
	"Key":
		{"HashKeyElement":{"S":"Julie"},
		"RangeKeyElement":{"N":"1307654345"}},
	"AttributesToGet":["status","friends"],
	"ConsistentRead":true
}
```

### 샘플 응답
<a name="API_GetItem_Examples_Response"></a>

선택적 파라미터 `ConsistentRead`가 `true`로 설정되었으므로 ConsumedCapacityUnits 값은 1입니다. 같은 요청에 대해 `ConsistentRead`가 `false`로 설정되거나 지정되지 않으면 응답이 eventually consistent이고 ConsumedCapacityUnits 값은 0.5입니다.

```
HTTP/1.1 200 
x-amzn-RequestId: 8966d095-71e9-11e0-a498-71d736f27375 
content-type: application/x-amz-json-1.0
content-length: 72

{"Item":
	{"friends":{"SS":["Lynda, Aaron"]},
	"status":{"S":"online"}
	},
"ConsumedCapacityUnits": 1
}
```

# ListTables
<a name="API_ListTables_v20111205"></a>

**중요**  
***이 단원에서 언급되는 API 버전 2011-12-05는 사용 중단되었으며 새 애플리케이션에 사용해서는 안 됩니다.***  
 **현재 하위 수준 API에 대한 설명서는 [Amazon DynamoDB API 참조](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/) 섹션을 참조하세요.**

## 설명
<a name="API_ListTables_Description"></a>

현재 계정 및 엔드포인트에 연동되어 있는 테이블을 모두 배열 형식으로 반환합니다.

각 DynamoDB 엔드포인트는 완전히 독립적입니다. 예를 들어, dynamodb.us-west-2.amazonaws.com 및 dynamodb.us-east-1.amazonaws.com에 "MyTable"이라는 테이블이 각각 있는 경우 해당 테이블은 완전히 독립적이며 데이터를 공유하지 않습니다. ListTables 작업은 요청 계정과 연동되어 있는 테이블 이름을 비롯해 요청을 받는 엔드포인트와 연동되어 있는 테이블 이름까지 모두 반환합니다.

## 요청
<a name="API_ListTables_RequestParameters"></a>

### 구문
<a name="API_ListTables_RequestParameters.syntax"></a>

```
// This header is abbreviated. 
// For a sample of a complete header, see DynamoDB 하위 수준 API.
POST / HTTP/1.1 
x-amz-target: DynamoDB_20111205.ListTables
content-type: application/x-amz-json-1.0

{"ExclusiveStartTableName":"Table1","Limit":3}
```

ListTables 작업은 기본적으로 요청 계정과 연동되어 있는 테이블 이름을 비롯해 요청을 받는 엔드포인트와 연동되어 있는 테이블 이름까지 모두 요청합니다.


****  

|  명칭  |  설명  | 필수 | 
| --- | --- | --- | 
|  Limit  |  반환할 수 있는 테이블 이름의 최대 수  유형: 정수  | 아니요 | 
| ExclusiveStartTableName  | 목록에 나열되는 첫 번째 테이블 이름. 이미 앞서서 ListTables 작업을 실행하여 응답으로 `LastEvaluatedTableName` 값을 가져온 경우에는 여기 값을 사용하여 목록을 계속 나열하면 됩니다. 유형: 문자열 | 아니요 | 

## 응답
<a name="API_ListTables_ResponseElements"></a>

### 구문
<a name="API_ListTables_ResponseElements.syntax"></a>

```
HTTP/1.1 200 OK
x-amzn-RequestId: S1LEK2DPQP8OJNHVHL8OU2M7KRVV4KQNSO5AEMVJF66Q9ASUAAJG
content-type: application/x-amz-json-1.0
content-length: 81
Date: Fri, 21 Oct 2011 20:35:38 GMT

{"TableNames":["Table1","Table2","Table3"], "LastEvaluatedTableName":"Table3"}
```


****  

|  명칭  |  설명  | 
| --- | --- | 
|  TableNames  |  현재 엔드포인트에서 현재 계정과 연동되어 있는 테이블 이름  유형: 배열  | 
| LastEvaluatedTableName  | 현재 목록에서 마지막 테이블 이름. 계정 및 엔드포인트에서 일부 테이블이 반환되지 않은 경우에 한함. 이미 모든 테이블 이름이 반환된 경우에는 이 값이 응답에 표시되지 않습니다. 이 값은 모든 테이블 이름이 반환되지 않아서 목록을 계속 나열할 때 새로운 요청의 `ExclusiveStartTableName`으로 사용됩니다. 유형: 문자열  | 

## 특수 오류
<a name="API_ListTables_SpecialErrors"></a>

이 작업에는 특정 오류가 없습니다.

## 예시
<a name="API_ListTables_Examples"></a>

다음은 ListTables 작업을 사용해 HTTP POST 요청 및 응답을 나타낸 예제입니다.

### 샘플 요청
<a name="API_ListTables_Examples_Request"></a>

```
// This header is abbreviated. 
// For a sample of a complete header, see DynamoDB 하위 수준 API.
POST / HTTP/1.1 
x-amz-target: DynamoDB_20111205.ListTables
content-type: application/x-amz-json-1.0

{"ExclusiveStartTableName":"comp2","Limit":3}
```

### 샘플 응답
<a name="API_ListTables_Examples_Response"></a>

```
HTTP/1.1 200 OK
x-amzn-RequestId: S1LEK2DPQP8OJNHVHL8OU2M7KRVV4KQNSO5AEMVJF66Q9ASUAAJG
content-type: application/x-amz-json-1.0
content-length: 81
Date: Fri, 21 Oct 2011 20:35:38 GMT

{"LastEvaluatedTableName":"comp5","TableNames":["comp3","comp4","comp5"]}
```

## 관련 작업
<a name="API_ListTables_Related_Actions"></a>
+  [DescribeTables](API_DescribeTables_v20111205.md) 
+  [CreateTable](API_CreateTable_v20111205.md) 
+  [DeleteTable](API_DeleteTable_v20111205.md) 

# PutItem
<a name="API_PutItem_v20111205"></a>

**중요**  
***이 단원에서 언급되는 API 버전 2011-12-05는 사용 중단되었으며 새 애플리케이션에 사용해서는 안 됩니다.***  
 **현재 하위 수준 API에 대한 설명서는 [Amazon DynamoDB API 참조](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/) 섹션을 참조하세요.**

## 설명
<a name="API_PutItem_Description"></a>

새 항목을 만들거나 이전 항목을 새 항목으로 바꿉니다(모든 속성 포함). 지정된 테이블에 동일한 기본 키를 지닌 항목이 이미 존재하는 경우 기존 항목이 새 항목으로 완전히 바뀝니다. 조건부 입력을 수행하거나(기본 키가 지정된 항목이 없는 경우 새 항목을 삽입합니다) 기존 항목에 특정 속성 값이 있는 경우 해당 항목을 교체할 수 있습니다.

속성 값은 null이 될 수 없습니다. 문자열과 이진 형식 속성 길이는 0보다 커야 합니다. 설정 유형 속성은 비어 있으면 안 됩니다. 값이 비어 있는 요청은 `ValidationException`으로 거부됩니다.

**참고**  
새 항목이 기존의 항목을 대체하지 않도록 하려면 기본 키 속성 또는 속성에 대해 `Exists`로 설정된 `false`을 사용하여 조건부 입력 작업을 수행합니다.

`PutItem` 사용에 관한 자세한 내용은 [DynamoDB의 항목 및 속성 작업](WorkingWithItems.md) 단원을 참조하세요.

## 요청
<a name="API_PutItem_RequestParameters"></a>

### 구문
<a name="API_PutItem_RequestParameters.syntax"></a>

```
// 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  | 항목에 대한 속성 맵으로서 항목을 정의하는 기본 키 값이 반드시 포함되어야 합니다. 항목에 대한 다른 속성 이름-값 페어가 제공될 수 있습니다. 기본 키에 대한 자세한 내용은 [프라이머리 키](HowItWorks.CoreComponents.md#HowItWorks.CoreComponents.PrimaryKey) 단원을 참조하세요.형식: 속성 값에 대한 속성 이름의 맵. | 예 | 
| Expected  | 조건부 입력의 속성을 지정합니다. `Expected` 파라미터를 사용하면 속성 이름뿐만 아니라, DynamoDB에서 속성 값이 이미 존재하는지 또는 속성 값이 존재하며 이를 변경하기 전에 특정 값이 있는지 확인해야 하는지 여부를 제공할 수 있습니다.형식: 존재하는 경우, 속성 값에 대한 속성 이름의 맵. | 아니요 | 
| Expected:AttributeName  | 조건부 입력에 대한 속성 이름입니다.유형: 문자열 | 아니요 | 
| Expected:AttributeName: ExpectedAttributeValue | 이 파라미터를 사용하여 속성 이름-값 페어의 값이 존재할지 여부를 지정합니다.다음 JSON 표기법은 항목의 "Color" 속성이 없을 경우 해당 항목을 바꿉니다.<pre>"Expected" :<br />	{"Color":{"Exists":false}}</pre>다음 JSON 표기법은 항목을 바꾸기 전에 이름이 "Color"인 속성의 기존 값이 "Yellow"인지 여부를 확인합니다.<pre>"Expected" : <br />	{"Color":{"Exists":true,{"Value":{"S":"Yellow"}}}</pre>기본적으로 `Expected` 파라미터를 사용하고 `Value`를 제공하는 경우 DynamoDB는 속성이 존재하고 바꿀 현재 값이 있는 것으로 가정합니다. 따라서 `{"Exists":true}`가 내재되어 있으므로 지정하지 않아도 됩니다. 요청을 다음과 같이 줄일 수 있습니다.<pre>"Expected" : <br />	{"Color":{"Value":{"S":"Yellow"}}}</pre> 확인할 속성 값이 없을 때 `{"Exists":true}`를 지정하면 DynamoDB는 오류를 반환합니다.  | 아니요 | 
| ReturnValues  | 속성 이름-값 페어가 `PutItem` 요청으로 업데이트되기 전에 이를 가져오려면 이 파라미터를 사용합니다. 가능한 파라미터 값은 `NONE`(기본) 또는 `ALL_OLD`입니다. `ALL_OLD`가 지정되어 있으며 `PutItem`이 속성 이름-값 페어를 덮어쓴 경우, 이전 항목의 내용이 반환됩니다. 이 파라미터가 제공되지 않거나 `NONE`인 경우, 아무 것도 반환되지 않습니다.유형: 문자열 | 아니요 | 

## 응답
<a name="API_PutItem_CommonResponseElements"></a>

### 구문
<a name="API_PutItem_CommonResponseElements.syntax"></a>

다음 구문 예는 요청에 `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  | 입력 작업 전 속성 값입니다. 단 `ReturnValues` 파라미터가 요청에서 `ALL_OLD` 값으로 지정된 경우만 해당됩니다.형식: 속성 이름-값 페어의 맵 | 
| ConsumedCapacityUnits | 작업에서 사용한 쓰기 용량 단위의 수입니다. 이 값은 할당 처리량에 적용되는 수를 나타냅니다. 자세한 정보는 [DynamoDB 프로비저닝된 용량 모드](provisioned-capacity-mode.md) 섹션을 참조하세요. 형식: 숫자 | 

## 특수 오류
<a name="API_PutItem_SpecialErrors"></a>


****  

|  Error  |  설명  | 
| --- | --- | 
|  ConditionalCheckFailedException  | 조건부 확인이 실패했습니다. 예상 속성 값이 검색되지 않았습니다. | 
| ResourceNotFoundException  | 지정된 항목 또는 속성을 찾을 수 없습니다. | 

## 예시
<a name="API_PutItem_Examples"></a>

AWS SDK를 사용하는 예는 [DynamoDB의 항목 및 속성 작업](WorkingWithItems.md) 단원을 참조하세요.

### 샘플 요청
<a name="API_PutItem_Examples_Request"></a>

```
// 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"
}
```

### 샘플 응답
<a name="API_PutItem_Examples_Response"></a>

```
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
}
```

## 관련 작업
<a name="API_PutItem_Related_Actions"></a>
+  [UpdateItem](API_UpdateItem_v20111205.md) 
+  [DeleteItem](API_DeleteItem_v20111205.md) 
+  [GetItem](API_GetItem_v20111205.md) 
+  [BatchGetItem](API_BatchGetItem_v20111205.md) 

# Query
<a name="API_Query_v20111205"></a>

**중요**  
***이 단원에서 언급되는 API 버전 2011-12-05는 사용 중단되었으며 새 애플리케이션에 사용해서는 안 됩니다.***  
 **현재 하위 수준 API에 대한 설명서는 [Amazon DynamoDB API 참조](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/) 섹션을 참조하세요.**

## 설명
<a name="API_Query_Description"></a>

`Query`는 기본 키를 기준으로 하나 이상의 항목 값과 그 속성을 가져오는 작업입니다(`Query`는 해시 및 범위 기본 키 테이블에서만 가능합니다). 특정 `HashKeyValue`를 입력해야 하며, 기본 키의 `RangeKeyValue`에 비교 연산자를 사용하여 쿼리의 범위를 좁힐 수 있습니다. `ScanIndexForward` 파라미터는 범위 키를 기준으로 순방향 또는 역방향 순서로 결과를 가져오는 데 사용됩니다.

결과를 반환하지 않는 쿼리는 읽기 형식에 따라 최소 읽기 용량 단위를 사용합니다.

**참고**  
쿼리 파라미터를 만족하는 전체 항목 수의 크기가 1MB 제한을 초과하면 쿼리가 중단되고 `LastEvaluatedKey`와 함께 사용자에게 결과가 반환된 후 이어지는 작업에서 쿼리가 계속 됩니다. 스캔 작업과 달리 쿼리 작업은 절대로 빈 결과 집합 *및* `LastEvaluatedKey`를 반환하지 않습니다. `LastEvaluatedKey`는 결과가 1MB를 초과하거나, 혹은 `Limit` 파라미터를 사용한 경우에만 반환됩니다.  
`ConsistentRead` 파라미터를 사용하면 결과를 consistent read로 설정할 수 있습니다.

## 요청
<a name="API_Query_RequestParameters"></a>

### 구문
<a name="API_Query_RequestParameters.syntax"></a>

```
// This header is abbreviated.
// For a sample of a complete header, see DynamoDB 하위 수준 API.
POST / HTTP/1.1 
x-amz-target: DynamoDB_20111205.Query  
content-type: application/x-amz-json-1.0

{"TableName":"Table1",
	"Limit":2,
	"ConsistentRead":true,
	"HashKeyValue":{"S":"AttributeValue1":},
	"RangeKeyCondition": {"AttributeValueList":[{"N":"AttributeValue2"}],"ComparisonOperator":"GT"}
	"ScanIndexForward":true,
	"ExclusiveStartKey":{
		"HashKeyElement":{"S":"AttributeName1"},
		"RangeKeyElement":{"N":"AttributeName2"}
	},
    "AttributesToGet":["AttributeName1", "AttributeName2", "AttributeName3"]},
}
```


****  

|  명칭  |  설명  |  필수 | 
| --- | --- | --- | 
|  TableName  |  요청된 항목을 포함하는 테이블의 이름입니다. 유형: 문자열  |  예  | 
| AttributesToGet  | 속성 이름의 배열입니다. 속성 이름을 지정하지 않으면 모든 속성이 반환됩니다. 일부 속성을 찾을 수 없는 경우 결과에 표시되지 않습니다.유형: 배열 | 아니요 | 
| Limit  | 반환할 최대 항목 수(대상 항목 수와 반드시 일치할 필요 없음). DynamoDB가 테이블에 대한 쿼리 중 처리할 수 있는 항목 제한 수에 이르면 쿼리를 중단하고 해당 지점까지만 대상 값을 반환한 다음 이어지는 작업에 `LastEvaluatedKey`가 적용되어 쿼리를 계속합니다. 또한 DynamoDB가 이 한계에 도달하기 전에 결과 집합 크기가 1MB를 초과하는 경우에도 쿼리를 중단하고 대상 값을 반환한 다음 이어지는 작업에 `LastEvaluatedKey`가 적용되어 쿼리를 계속합니다.형식: 숫자 | 아니요 | 
| ConsistentRead  | `true`로 설정하면 consistent read가 발생하고, 그 밖의 경우에는 eventually consistent가 사용됩니다.타입: 부울 | 아니요 | 
| Count  | `true`로 설정할 경우DynamoDB 가 일치하는 항목 및 해당 속성의 목록이 아닌 쿼리 파라미터와 일치하는 전체 항목 수를 반환합니다. `Limit` 파라미터는 항목 수 계산 쿼리에만 적용됩니다. `AttributesToGet` 목록을 제공하는 동안 `Count`를 `true`로 설정하지 마세요. 그렇지 않으면 DynamoDB가 유효성 검사 오류를 반환합니다. 자세한 내용은 [결과 내 항목 수 계산](Query.Other.md#Query.Count) 단원을 참조하십시오.타입: 부울 | 아니요 | 
| HashKeyValue  | 복합 기본 키에서 해시 구성 요소의 속성 값형식: 문자열, 숫자 또는 이진수 | 예 | 
| RangeKeyCondition  | 쿼리에 사용되는 속성 값과 비교 연산자가 저장되는 컨테이너. 쿼리를 요청할 때는 `RangeKeyCondition`이 필요하지 않습니다. `HashKeyValue`만 입력하면 DynamoDB가 지정한 해시 키 요소 값을 갖는 항목을 모두 반환합니다.유형: 맵 | 아니요 | 
| RangeKeyCondition:​ AttributeValueList | 쿼리 파라미터를 위해 평가할 속성 값. `BETWEEN` 비교를 지정하지 않으면 `AttributeValueList`에 속성 값이 하나 저장됩니다. 그리고, `BETWEEN` 비교를 지정하면 `AttributeValueList`에 속성 값이 2개 저장됩니다.형식: `AttributeValue`에 대한 `ComparisonOperator`의 맵. | 아니요 | 
| RangeKeyCondition:​ ComparisonOperator |  같다, 크다 등 제공한 속성을 평가하는 기준입니다. 다음은 쿼리 작업 시 유효한 비교 연산자입니다.  크다, 같음 또는 작다 등의 문자열 값 비교는 ASCII 문자 코드 값을 기준으로 합니다. 예를 들어 `a`는 `A`보다 크고 `aa`는 `B`보다 큽니다. 코드 값 목록은 [http://en.wikipedia.org/wiki/ASCII\$1ASCII\$1printable\$1characters](http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters)를 참조하세요. 이진수의 경우에는, 예를 들어 쿼리 표현식을 평가할 때처럼 DynamoDB가 이진수 값을 비교하면서 이진수 데이터의 각 바이트를 부호가 없는 것으로 처리합니다.  형식: 문자열 또는 이진수  | 아니요 | 
|   | `EQ` : 같음. `EQ`의 경우, `AttributeValueList`는 문자열, 숫자 또는 이진수 유형 중 하나의 `AttributeValue`만 포함할 수 있습니다(집합 아님). 요청에서 지정한 형식과 다른 형식의 `AttributeValue` 값이 항목에 저장되면 값은 일치하지 않습니다. 예를 들어 `{"S":"6"}`은 `{"N":"6"}`과 같지 않습니다. 또한 `{"N":"6"}`은 `{"NS":["6", "2", "1"]}`과 같지 않습니다. |   | 
|   | `LE` : 작거나 같음. `LE`의 경우, `AttributeValueList`는 문자열, 숫자 또는 이진수 유형 중 하나의 `AttributeValue`만 포함할 수 있습니다(집합 아님). 요청에서 지정한 형식과 다른 형식의 `AttributeValue` 값이 항목에 저장되면 값은 일치하지 않습니다. 예를 들어 `{"S":"6"}`은 `{"N":"6"}`과 같지 않습니다. 또한 `{"N":"6"}`은 `{"NS":["6", "2", "1"]}`과 비교할 수 없습니다. |   | 
|   | `LT` : 작음. `LT`의 경우, `AttributeValueList`는 문자열, 숫자 또는 이진수 유형 중 하나의 `AttributeValue`만 포함할 수 있습니다(집합 아님). 요청에서 지정한 형식과 다른 형식의 `AttributeValue` 값이 항목에 저장되면 값은 일치하지 않습니다. 예를 들어 `{"S":"6"}`은 `{"N":"6"}`과 같지 않습니다. 또한 `{"N":"6"}`은 `{"NS":["6", "2", "1"]}`과 비교할 수 없습니다. |   | 
|   | `GE` : 크거나 같음. `GE`의 경우, `AttributeValueList`는 문자열, 숫자 또는 이진수 유형 중 하나의 `AttributeValue`만 포함할 수 있습니다(집합 아님). 요청에서 지정한 형식과 다른 형식의 `AttributeValue` 값이 항목에 저장되면 값은 일치하지 않습니다. 예를 들어 `{"S":"6"}`은 `{"N":"6"}`과 같지 않습니다. 또한 `{"N":"6"}`은 `{"NS":["6", "2", "1"]}`과 비교할 수 없습니다. |   | 
|   | `GT` : 큼. `GT`의 경우, `AttributeValueList`는 문자열, 숫자 또는 이진수 유형 중 하나의 `AttributeValue`만 포함할 수 있습니다(집합 아님). 요청에서 지정한 형식과 다른 형식의 `AttributeValue` 값이 항목에 저장되면 값은 일치하지 않습니다. 예를 들어 `{"S":"6"}`은 `{"N":"6"}`과 같지 않습니다. 또한 `{"N":"6"}`은 `{"NS":["6", "2", "1"]}`과 비교할 수 없습니다. |   | 
|   | `BEGINS_WITH` : 접두사 여부 확인. `BEGINS_WITH`의 경우, `AttributeValueList`에 문자열 또는 이진수(숫자 또는 집합 제외) 중 한 가지 형식의 `AttributeValue`만 저장됩니다. 비교 대상의 속성은 문자열 또는 이진수가 되어야 합니다(숫자 또는 집합 제외). |   | 
|   | `BETWEEN` : 첫 번째 값보다 크거나 같음 및 두 번째 값보다 작거나 같음. `BETWEEN`의 경우, 문자열, 숫자 또는 이진수(집합 제외) 중에서 동일한 형식으로 2개의 `AttributeValueList` 요소가 `AttributeValue`에 저장되어야 합니다. 대상 값이 첫 번째 요소보다 크거나 같을 때, 그리고 두 번째 요소보다 작거나 같을 때 대상 속성이 일치합니다. 요청에서 지정한 형식과 다른 형식의 `AttributeValue` 값이 항목에 저장되면 값은 일치하지 않습니다. 예를 들어 `{"S":"6"}`은 `{"N":"6"}`과 비교할 수 없습니다. 또한 `{"N":"6"}`은 `{"NS":["6", "2", "1"]}`과 비교할 수 없습니다. |   | 
| ScanIndexForward | 인덱스의 오름차순 또는 내림차순을 지정합니다. DynamoDB는 범위 키에서 지정한 요청 순서를 반영하여 결과를 반환합니다. 데이터 형식이 숫자라면 결과는 숫자의 순서대로 반환됩니다. 그렇지 않으면 ASCII 문자 코드 값에 따라 순서가 결정됩니다.타입: 부울기본값은 `true`입니다(오름차순). | 아니요 | 
| ExclusiveStartKey | 이전 쿼리를 계속할 항목의 기본 키. 결과 집합 크기나 `Limit` 파라미터 등으로 인해 쿼리가 끝나기도 전에 중단된 경우에는 이전 쿼리가 이 값을 `LastEvaluatedKey`로 입력할 수도 있습니다. 그러면 `LastEvaluatedKey`가 새로운 쿼리 요청으로 다시 전달되어 중단된 지점부터 쿼리 작업을 계속합니다.형식: 복합 기본 키의 `HashKeyElement`, 또는 `HashKeyElement` 및 `RangeKeyElement`. | 아니요 | 

## 응답
<a name="API_Query_ResponseElements"></a>

### 구문
<a name="API_Query_ResponseElements.syntax"></a>

```
HTTP/1.1 200 
x-amzn-RequestId: 8966d095-71e9-11e0-a498-71d736f27375 
content-type: application/x-amz-json-1.0
content-length: 308

{"Count":2,"Items":[{
    "AttributeName1":{"S":"AttributeValue1"},
    "AttributeName2":{"N":"AttributeValue2"},
    "AttributeName3":{"S":"AttributeValue3"}
    },{
    "AttributeName1":{"S":"AttributeValue3"},
    "AttributeName2":{"N":"AttributeValue4"},
    "AttributeName3":{"S":"AttributeValue3"},
    "AttributeName5":{"B":"dmFsdWU="}
}],
    "LastEvaluatedKey":{"HashKeyElement":{"AttributeValue3":"S"},
                        "RangeKeyElement":{"AttributeValue4":"N"}
     },
     "ConsumedCapacityUnits":1
}
```


****  

|  명칭  |  설명  | 
| --- | --- | 
| Items  | 쿼리 파라미터를 만족하는 항목 속성형식: 속성 이름 맵과 속성의 데이터 형식 및 값. | 
| Count  |  응답의 항목 수. 자세한 내용은 [결과 내 항목 수 계산](Query.Other.md#Query.Count) 단원을 참조하십시오. 형식: 숫자  | 
| LastEvaluatedKey | 쿼리 작업이 중단된 항목의 기본 키(이전 결과 집합 포함). 이 값은 새로운 요청에서는 이 값을 제외하고 새 작업을 시작할 때 사용됩니다.전체 쿼리 결과 집합이 완료되면(“마지막 페이지”까지 처리) `LastEvaluatedKey`는 `null` 값을 갖습니다.형식: 복합 기본 키의 `HashKeyElement`, 또는 `HashKeyElement` 및 `RangeKeyElement`. | 
| ConsumedCapacityUnits | 작업에 사용된 읽기 용량 단위의 수. 이 값은 할당 처리량에 적용되는 수를 나타냅니다. 자세한 정보는 [DynamoDB 프로비저닝된 용량 모드](provisioned-capacity-mode.md) 섹션을 참조하세요. 형식: 숫자 | 

## 특수 오류
<a name="API_Query_SpecialErrors"></a>


****  

|  Error  |  설명  | 
| --- | --- | 
| ResourceNotFoundException  | 지정된 테이블을 찾을 수 없습니다. | 

## 예시
<a name="API_Query_Examples"></a>

 AWS SDK를 사용하는 예는 [DynamoDB에서 테이블 쿼리](Query.md) 단원을 참조하세요.

### 샘플 요청
<a name="API_Query_Examples_Request"></a>

```
// This header is abbreviated. For a sample of a complete header, see DynamoDB 하위 수준 API.
POST / HTTP/1.1 
x-amz-target: DynamoDB_20111205.Query  
content-type: application/x-amz-json-1.0

{"TableName":"1-hash-rangetable",
	"Limit":2,
	"HashKeyValue":{"S":"John"},
	"ScanIndexForward":false,
	"ExclusiveStartKey":{
		"HashKeyElement":{"S":"John"},
		"RangeKeyElement":{"S":"The Matrix"}
	}
}
```

### 샘플 응답
<a name="API_Query_Examples_Response"></a>

```
HTTP/1.1 200 
x-amzn-RequestId: 3647e778-71eb-11e0-a498-71d736f27375 
content-type: application/x-amz-json-1.0
content-length: 308

{"Count":2,"Items":[{
	"fans":{"SS":["Jody","Jake"]},
	"name":{"S":"John"},
	"rating":{"S":"***"},
	"title":{"S":"The End"}
	},{
	"fans":{"SS":["Jody","Jake"]},
	"name":{"S":"John"},
	"rating":{"S":"***"},
	"title":{"S":"The Beatles"}
	}],
	"LastEvaluatedKey":{"HashKeyElement":{"S":"John"},"RangeKeyElement":{"S":"The Beatles"}},
"ConsumedCapacityUnits":1
}
```

### 샘플 요청
<a name="API_Query_Examples_Request2"></a>

```
// This header is abbreviated. For a sample of a complete header, see DynamoDB 하위 수준 API.
POST / HTTP/1.1 
x-amz-target: DynamoDB_20111205.Query 
content-type: application/x-amz-json-1.0
 
{"TableName":"1-hash-rangetable",
	"Limit":2,
	"HashKeyValue":{"S":"Airplane"},
	"RangeKeyCondition":{"AttributeValueList":[{"N":"1980"}],"ComparisonOperator":"EQ"},
	"ScanIndexForward":false}
```

### 샘플 응답
<a name="API_Query_Examples_Response2"></a>

```
HTTP/1.1 200 
x-amzn-RequestId: 8b9ee1ad-774c-11e0-9172-d954e38f553a
content-type: application/x-amz-json-1.0
content-length: 119 
 
{"Count":1,"Items":[{
	"fans":{"SS":["Dave","Aaron"]},
	"name":{"S":"Airplane"},
	"rating":{"S":"***"},
	"year":{"N":"1980"}
	}],
"ConsumedCapacityUnits":1
}
```

## 관련 작업
<a name="API_Query_Related_Actions"></a>
+  [스캔](API_Scan_v20111205.md) 

# 스캔
<a name="API_Scan_v20111205"></a>

**중요**  
***이 단원에서 언급되는 API 버전 2011-12-05는 사용 중단되었으며 새 애플리케이션에 사용해서는 안 됩니다.***  
 **현재 하위 수준 API에 대한 설명서는 [Amazon DynamoDB API 참조](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/) 섹션을 참조하세요.**

## 설명
<a name="API_Scan_Description"></a>

`Scan` 작업은 테이블에 대한 전체 스캔을 수행하여 하나 이상의 항목 및 해당 속성을 반환합니다. `ScanFilter`를 제공하여 더 많은 특정 결과를 가져옵니다.

**참고**  
스캔한 총 항목의 수가 1MB 제한을 초과하면 스캔이 중지되고 `LastEvaluatedKey`과 함께 사용자에게 결과가 반환되며 후속 작업에서 스캔을 계속합니다. 또한 결과에는 제한을 초과하는 항목 수가 포함되어 있습니다. 스캔에는 필터 조건을 충족하는 테이블 데이터가 없을 수 있습니다.  
결과 세트는 최종적으로 일관적입니다.

## 요청
<a name="API_Scan_RequestParameters"></a>

### 구문
<a name="API_Scan_RequestParameters.syntax"></a>

```
// This header is abbreviated.
// For a sample of a complete header, see DynamoDB 하위 수준 API.
POST / HTTP/1.1 
x-amz-target: DynamoDB_20111205.Scan  
content-type: application/x-amz-json-1.0

{"TableName":"Table1",
    "Limit": 2,
    "ScanFilter":{
        "AttributeName1":{"AttributeValueList":[{"S":"AttributeValue"}],"ComparisonOperator":"EQ"}
    },
    "ExclusiveStartKey":{
        "HashKeyElement":{"S":"AttributeName1"},
        "RangeKeyElement":{"N":"AttributeName2"}
    },
    "AttributesToGet":["AttributeName1", "AttributeName2", "AttributeName3"]},
}
```


****  

|  명칭  |  설명  |  필수 | 
| --- | --- | --- | 
|  TableName  |  요청된 항목을 포함하는 테이블의 이름입니다. 유형: 문자열  |  예  | 
| AttributesToGet  | 속성 이름의 배열입니다. 속성 이름을 지정하지 않으면 모든 속성이 반환됩니다. 일부 속성을 찾을 수 없는 경우 결과에 표시되지 않습니다.유형: 배열 | 아니요 | 
| Limit  | 평가할 최대 항목 수입니다(반드시 일치하는 항목 수는 아님). DynamoDB가 결과를 처리하는 중에 한도까지 항목 수를 처리하면, 이를 중지하고 해당 지점까지 일치하는 값을 반환하며, 후속 작업에 `LastEvaluatedKey`를 적용하여 항목 가져오기를 계속합니다. 또한 DynamoDB가 1MB에 도달하기 전에 스캔한 데이터 설정 크기가 이 한도를 초과하면, 스캔을 중지하고 이 한도까지 일치하는 값을 반환하며, 후속 작업에 `LastEvaluatedKey`를 적용하여 스캔을 계속합니다.형식: 숫자 | 아니요 | 
| Count  | `true`로 설정한 경우, DynamoDB는 스캔 작업의 총 항목 수를 반환합니다. 작업에 할당된 필터에 대해 일치하는 항목이 없는 경우도 마찬가지입니다. 수 계산 전용 스캔에 Limit 파라미터를 적용할 수 있습니다. `AttributesToGet` 목록을 제공하는 동안 `Count`를 `true`로 설정하지 마세요. 그렇지 않으면 DynamoDB가 유효성 검사 오류를 반환합니다. 자세한 내용은 [결과 내 항목 수 계산](Scan.md#Scan.Count) 단원을 참조하십시오.타입: 부울 | 아니요 | 
| ScanFilter  | 스캔 결과를 평가하고 원하는 값만 반환합니다. 여러 조건이 "AND" 작업으로 처리됩니다. 모든 조건이 결과에 포함되어야 합니다. 형식: 비교 연산자가 포함된 값에 대한 속성 이름의 맵. | 아니요 | 
| ScanFilter:AttributeValueList | 필터의 스캔 결과를 평가하는 값과 조건입니다.형식: `AttributeValue`에 대한 `Condition`의 맵. | 아니요 | 
| ScanFilter:​ ComparisonOperator | 같다, 크다 등 제공한 속성을 평가하는 기준입니다. 다음은 스캔 작업에 대해 유효한 비교 연산자입니다. 크다, 같음 또는 작다 등의 문자열 값 비교는 ASCII 문자 코드 값을 기준으로 합니다. 예를 들어 `a`는 `A`보다 크고 `aa`는 `B`보다 큽니다. 코드 값 목록은 [http://en.wikipedia.org/wiki/ASCII\$1ASCII\$1printable\$1characters](http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters)를 참조하세요. 이진수의 경우에는, 예를 들어 쿼리 표현식을 평가할 때처럼 DynamoDB가 이진수 값을 비교하면서 이진수 데이터의 각 바이트를 부호가 없는 것으로 처리합니다.  형식: 문자열 또는 이진수  | 아니요 | 
|   | `EQ` : 같음. `EQ`의 경우, `AttributeValueList`는 문자열, 숫자 또는 이진수 유형 중 하나의 `AttributeValue`만 포함할 수 있습니다(집합 아님). 요청에서 지정한 형식과 다른 형식의 `AttributeValue` 값이 항목에 저장되면 값은 일치하지 않습니다. 예를 들어 `{"S":"6"}`은 `{"N":"6"}`과 같지 않습니다. 또한 `{"N":"6"}`은 `{"NS":["6", "2", "1"]}`과 같지 않습니다. |   | 
|   | `NE` : 같지 않음. `NE`의 경우, `AttributeValueList`는 문자열, 숫자 또는 이진수 유형 중 하나의 `AttributeValue`만 포함할 수 있습니다(집합 아님). 요청에서 지정한 형식과 다른 형식의 `AttributeValue` 값이 항목에 저장되면 값은 일치하지 않습니다. 예를 들어 `{"S":"6"}`은 `{"N":"6"}`과 같지 않습니다. 또한 `{"N":"6"}`은 `{"NS":["6", "2", "1"]}`과 같지 않습니다. |   | 
|   | `LE` : 작거나 같음. `LE`의 경우, `AttributeValueList`는 문자열, 숫자 또는 이진수 유형 중 하나의 `AttributeValue`만 포함할 수 있습니다(집합 아님). 요청에서 지정한 형식과 다른 형식의 `AttributeValue` 값이 항목에 저장되면 값은 일치하지 않습니다. 예를 들어 `{"S":"6"}`은 `{"N":"6"}`과 같지 않습니다. 또한 `{"N":"6"}`은 `{"NS":["6", "2", "1"]}`과 비교할 수 없습니다. |   | 
|   | `LT` : 작음. `LT`의 경우, `AttributeValueList`는 문자열, 숫자 또는 이진수 유형 중 하나의 `AttributeValue`만 포함할 수 있습니다(집합 아님). 요청에서 지정한 형식과 다른 형식의 `AttributeValue` 값이 항목에 저장되면 값은 일치하지 않습니다. 예를 들어 `{"S":"6"}`은 `{"N":"6"}`과 같지 않습니다. 또한 `{"N":"6"}`은 `{"NS":["6", "2", "1"]}`과 비교할 수 없습니다. |   | 
|   | `GE` : 크거나 같음. `GE`의 경우, `AttributeValueList`는 문자열, 숫자 또는 이진수 유형 중 하나의 `AttributeValue`만 포함할 수 있습니다(집합 아님). 요청에서 지정한 형식과 다른 형식의 `AttributeValue` 값이 항목에 저장되면 값은 일치하지 않습니다. 예를 들어 `{"S":"6"}`은 `{"N":"6"}`과 같지 않습니다. 또한 `{"N":"6"}`은 `{"NS":["6", "2", "1"]}`과 비교할 수 없습니다. |   | 
|   | `GT` : 큼. `GT`의 경우, `AttributeValueList`는 문자열, 숫자 또는 이진수 유형 중 하나의 `AttributeValue`만 포함할 수 있습니다(집합 아님). 요청에서 지정한 형식과 다른 형식의 `AttributeValue` 값이 항목에 저장되면 값은 일치하지 않습니다. 예를 들어 `{"S":"6"}`은 `{"N":"6"}`과 같지 않습니다. 또한 `{"N":"6"}`은 `{"NS":["6", "2", "1"]}`과 비교할 수 없습니다. |   | 
|   | `NOT_NULL` : 속성 있음.  |   | 
|   | `NULL` : 속성 없음.  |   | 
|   | `CONTAINS` : 세트의 하위 시퀀스 또는 값 확인. `CONTAINS`의 경우, `AttributeValueList`는 문자열, 숫자 또는 이진수 유형 중 하나의 `AttributeValue`만 포함할 수 있습니다(집합 아님). 비교의 대상 속성이 문자열이면 작업은 하위 문자열 일치를 확인합니다. 비교의 대상 속성이 이진수이면 작업은 입력과 일치하는 대상의 하위 시퀀스를 찾습니다. 비교의 대상 속성이 세트("SS", "NS" 또는 "BS")이면 작업은 해당 세트의 구성 요소(하위 문자열 아님)를 확인합니다. |   | 
|   | `NOT_CONTAINS` : 세트의 하위 시퀀스 부재 또는 값의 부재 확인. `NOT_CONTAINS`의 경우, `AttributeValueList`는 문자열, 숫자 또는 이진수 유형 중 하나의 `AttributeValue`만 포함할 수 있습니다(집합 아님). 비교의 대상 속성이 문자열이면 작업은 하위 문자열이 일치하지 않는지 확인합니다. 비교의 대상 속성이 이진수이면 입력과 일치하는 대상의 하위 시퀀스가 없는지 확인합니다. 비교의 대상 속성이 세트("SS", "NS" 또는 "BS")이면 작업은 해당 세트의 구성 요소(하위 문자열 아님)의 부재를 확인합니다. |   | 
|   | `BEGINS_WITH` : 접두사 여부 확인. `BEGINS_WITH`의 경우, `AttributeValueList`에 문자열 또는 이진수(숫자 또는 집합 제외) 중 한 가지 형식의 `AttributeValue`만 저장됩니다. 비교 대상의 속성은 문자열 또는 이진수가 되어야 합니다(숫자 또는 집합 제외). |   | 
|   | `IN` : 정확한 일치 확인. `IN`의 경우, `AttributeValueList`는 문자열, 숫자 또는 이진수 유형 중 두 개 이상의 `AttributeValue`를 포함할 수 있습니다(집합 아님). 비교 대상 속성이 일치하려면 형식이 동일하고 값도 정확해야 합니다. 문자열은 문자열 세트와 일치하지 않습니다. |   | 
|   | `BETWEEN` : 첫 번째 값보다 크거나 같음 및 두 번째 값보다 작거나 같음. `BETWEEN`의 경우, 문자열, 숫자 또는 이진수(집합 제외) 중에서 동일한 형식으로 2개의 `AttributeValueList` 요소가 `AttributeValue`에 저장되어야 합니다. 대상 값이 첫 번째 요소보다 크거나 같을 때, 그리고 두 번째 요소보다 작거나 같을 때 대상 속성이 일치합니다. 요청에서 지정한 형식과 다른 형식의 `AttributeValue` 값이 항목에 저장되면 값은 일치하지 않습니다. 예를 들어 `{"S":"6"}`은 `{"N":"6"}`과 비교할 수 없습니다. 또한 `{"N":"6"}`은 `{"NS":["6", "2", "1"]}`과 비교할 수 없습니다. |   | 
| ExclusiveStartKey | 이전 스캔을 계속할 항목의 기본 키입니다. 결과 세트 크기 또는 `Limit` 파라미터 중 하나로 인해 이전 스캔 작업이 전체 테이블을 스캔하기 전에 중단된 경우 해당 스캔은 이 값을 제공할 수 있습니다. `LastEvaluatedKey`는 새 스캔 요청으로 다시 전달되어 해당 지점에서 작업을 계속할 수 있습니다.형식: 복합 기본 키의 `HashKeyElement`, 또는 `HashKeyElement` 및 `RangeKeyElement`. | 아니요 | 

## 응답
<a name="API_Scan_ResponseElements"></a>

### 구문
<a name="API_Scan_ResponseElements.syntax"></a>

```
HTTP/1.1 200 
x-amzn-RequestId: 8966d095-71e9-11e0-a498-71d736f27375 
content-type: application/x-amz-json-1.0
content-length: 229 

{"Count":2,"Items":[{
    "AttributeName1":{"S":"AttributeValue1"},
    "AttributeName2":{"S":"AttributeValue2"},
    "AttributeName3":{"S":"AttributeValue3"}
    },{
    "AttributeName1":{"S":"AttributeValue4"},
    "AttributeName2":{"S":"AttributeValue5"},
    "AttributeName3":{"S":"AttributeValue6"},
    "AttributeName5":{"B":"dmFsdWU="}
    }],
    "LastEvaluatedKey":
        {"HashKeyElement":{"S":"AttributeName1"},
        "RangeKeyElement":{"N":"AttributeName2"},
    "ConsumedCapacityUnits":1,
    "ScannedCount":2}
}
```


****  

|  명칭  |  설명  | 
| --- | --- | 
| Items  | 작업 파라미터를 충족하는 속성의 컨테이너입니다.형식: 속성 이름 맵과 속성의 데이터 형식 및 값. | 
| Count  |  응답의 항목 수. 자세한 내용은 [결과 내 항목 수 계산](Scan.md#Scan.Count) 단원을 참조하십시오. 형식: 숫자  | 
| ScannedCount  | 필터를 적용하기 전 전체 스캔의 항목 수입니다. `ScannedCount` 값이 높지만 `Count` 결과가 거의 없거나 전혀 없는 경우 스캔 작업이 비효율적이라는 것을 나타냅니다. 자세한 내용은 [결과 내 항목 수 계산](Scan.md#Scan.Count) 단원을 참조하십시오.형식: 숫자 | 
| LastEvaluatedKey | 스캔 작업이 중지된 항목의 기본 키입니다. 후속 스캔 작업에 이 값을 제공하여 해당 지점부터 작업을 계속합니다.전체 스캔 결과 설정이 완료되면(예: 작업이 "마지막 페이지"를 처리)`LastEvaluatedKey`는 `null`입니다. | 
| ConsumedCapacityUnits | 작업에 사용된 읽기 용량 단위의 수. 이 값은 할당 처리량에 적용되는 수를 나타냅니다. 자세한 정보는 [DynamoDB 프로비저닝된 용량 모드](provisioned-capacity-mode.md) 섹션을 참조하세요. 형식: 숫자 | 

## 특수 오류
<a name="API_Scan_SpecialErrors"></a>


****  

|  Error  |  설명  | 
| --- | --- | 
| ResourceNotFoundException  | 지정된 테이블을 찾을 수 없습니다. | 

## 예시
<a name="API_Scan_Examples"></a>

AWS SDK를 사용하는 예는 [DynamoDB에서 테이블 스캔](Scan.md) 단원을 참조하세요.

### 샘플 요청
<a name="API_Scan_Examples_Request"></a>

```
// This header is abbreviated. For a sample of a complete header, see DynamoDB 하위 수준 API.
POST / HTTP/1.1 
x-amz-target: DynamoDB_20111205.Scan 
content-type: application/x-amz-json-1.0

{"TableName":"1-hash-rangetable","ScanFilter":{}}
```

### 샘플 응답
<a name="API_Scan_Examples_Response"></a>

```
HTTP/1.1 200
x-amzn-RequestId: 4e8a5fa9-71e7-11e0-a498-71d736f27375 
content-type: application/x-amz-json-1.0 
content-length: 465 

{"Count":4,"Items":[{
	"date":{"S":"1980"},
	"fans":{"SS":["Dave","Aaron"]},
	"name":{"S":"Airplane"},
	"rating":{"S":"***"}
	},{
	"date":{"S":"1999"},
	"fans":{"SS":["Ziggy","Laura","Dean"]},
	"name":{"S":"Matrix"},
	"rating":{"S":"*****"}
	},{
	"date":{"S":"1976"},
	"fans":{"SS":["Riley"]},"
	name":{"S":"The Shaggy D.A."},
	"rating":{"S":"**"}
	},{
	"date":{"S":"1985"},
	"fans":{"SS":["Fox","Lloyd"]},
	"name":{"S":"Back To The Future"},
	"rating":{"S":"****"}
	}],
    "ConsumedCapacityUnits":0.5
	"ScannedCount":4}
```

### 샘플 요청
<a name="API_Scan_Examples_Request2"></a>

```
// This header is abbreviated. For a sample of a complete header, see DynamoDB 하위 수준 API.
POST / HTTP/1.1 
x-amz-target: DynamoDB_20111205.Scan 
content-type: application/x-amz-json-1.0
content-length: 125 

{"TableName":"comp5",
	"ScanFilter":
		{"time":
			{"AttributeValueList":[{"N":"400"}],
			"ComparisonOperator":"GT"}
	}
}
```

### 샘플 응답
<a name="API_Scan_Examples_Response2"></a>

```
HTTP/1.1 200 OK
x-amzn-RequestId: PD1CQK9QCTERLTJP20VALJ60TRVV4KQNSO5AEMVJF66Q9ASUAAJG
content-type: application/x-amz-json-1.0
content-length: 262
Date: Mon, 15 Aug 2011 16:52:02 GMT

{"Count":2,
	"Items":[
		{"friends":{"SS":["Dave","Ziggy","Barrie"]},
		"status":{"S":"chatting"},
		"time":{"N":"2000"},
		"user":{"S":"Casey"}},
		{"friends":{"SS":["Dave","Ziggy","Barrie"]},
		"status":{"S":"chatting"},
		"time":{"N":"2000"},
		"user":{"S":"Fredy"}
		}],
"ConsumedCapacityUnits":0.5
"ScannedCount":4
}
```

### 샘플 요청
<a name="API_Scan_Examples_Request3"></a>

```
// This header is abbreviated. For a sample of a complete header, see DynamoDB 하위 수준 API.
POST / HTTP/1.1 
x-amz-target: DynamoDB_20111205.Scan
content-type: application/x-amz-json-1.0

{"TableName":"comp5",
	"Limit":2,
	"ScanFilter":
		{"time":
			{"AttributeValueList":[{"N":"400"}],
			"ComparisonOperator":"GT"}
	},
	"ExclusiveStartKey":
		{"HashKeyElement":{"S":"Fredy"},"RangeKeyElement":{"N":"2000"}}
}
```

### 샘플 응답
<a name="API_Scan_Examples_Response3"></a>

```
HTTP/1.1 200 OK
x-amzn-RequestId: PD1CQK9QCTERLTJP20VALJ60TRVV4KQNSO5AEMVJF66Q9ASUAAJG
content-type: application/x-amz-json-1.0
content-length: 232
Date: Mon, 15 Aug 2011 16:52:02 GMT

{"Count":1,
	"Items":[
		{"friends":{"SS":["Jane","James","John"]},
		"status":{"S":"exercising"},
		"time":{"N":"2200"},
		"user":{"S":"Roger"}}
	],
	"LastEvaluatedKey":{"HashKeyElement":{"S":"Riley"},"RangeKeyElement":{"N":"250"}},
"ConsumedCapacityUnits":0.5
"ScannedCount":2
}
```

## 관련 작업
<a name="API_Scan_Related_Actions"></a>
+  [Query](API_Query_v20111205.md) 
+  [BatchGetItem](API_BatchGetItem_v20111205.md) 

# UpdateItem
<a name="API_UpdateItem_v20111205"></a>

**중요**  
***이 단원에서 언급되는 API 버전 2011-12-05는 사용 중단되었으며 새 애플리케이션에 사용해서는 안 됩니다.***  
 **현재 하위 수준 API에 대한 설명서는 [Amazon DynamoDB API 참조](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/) 섹션을 참조하세요.**

## 설명
<a name="API_UpdateItem_Description"></a>

기존 항목의 속성을 편집합니다. 조건부 업데이트를 수행할 수 있습니다(속성 이름-값 페어가 없는 경우 새로 삽입하거나 특정 예상 속성 값이 있는 경우 기존 이름-값 페어를 바꿉니다).

**참고**  
UpdateItem을 사용하여 기본 키 속성을 업데이트할 수 없습니다. 대신 해당 항목을 삭제하고 PutItem을 사용하여 새 속성이 포함된 새 항목을 만듭니다.

UpdateItem 작업에는 업데이트를 수행하는 방법을 정의하는 `Action` 파라미터가 포함되어 있습니다. 속성 값을 입력, 삭제 또는 추가할 수 있습니다.

속성 값은 null이 될 수 없습니다. 문자열과 이진 형식 속성 길이는 0보다 커야 합니다. 설정 유형 속성은 비어 있으면 안 됩니다. 값이 비어 있는 요청은 `ValidationException`으로 거부됩니다.

기존 항목에 지정된 기본 키가 있는 경우: 
+ **PUT** - 지정된 속성을 추가합니다. 속성이 이미 있는 경우 새 값으로 바뀝니다.
+ **DELETE** - 지정된 값이 없는 경우 속성과 해당 값을 제거합니다. 값 세트가 지정된 경우 지정된 세트의 값이 이전 세트에서 제거됩니다. 따라서 속성 값에 [a,b,c]가 포함되어 있고 삭제 작업에 [a,c]가 포함되어 있으면 최종 속성 값은 [b]가 됩니다. 지정된 값 유형은 기존 값 유형과 일치해야 합니다. 빈 세트를 지정하는 것은 유효하지 않습니다.
+ **ADD** - 숫자에 대해 또는 대상 속성이 세트(문자열 세트 포함)인 경우에만 추가 작업을 사용합니다. ADD는 대상 속성이 단일 문자열 값이거나 스칼라 이진 값인 경우에는 작동하지 않습니다. 지정된 값은 숫자 값에 추가(기존 숫자 값 증가 또는 감소)되거나 문자열 세트에 추가 값으로 추가됩니다. 값 세트가 지정된 경우 해당 값이 기존 세트에 추가됩니다. 예를 들어 원래 값이 [1,2]이고 제공한 값이 [3]이면 추가 작업 후 세트는 [4,5]가 아니라 [1,2,3]이 됩니다. 세트 속성에 대한 Add 작업이 지정되어 있으며 지정된 속성 유형이 기존 세트 유형과 일치하지 않는 경우 오류가 발생합니다.

  존재하지 않는 속성에 대해 ADD를 사용하면 해당 속성과 그 값이 항목에 추가됩니다.

항목이 지정된 기본 키와 일치하지 않는 경우: 
+ **PUT** - 지정된 기본 키가 포함된 새 항목을 만듭니다. 그런 다음 지정된 속성을 추가합니다.
+ **DELETE** - 아무 것도 발생하지 않습니다.
+ **ADD** - 속성 값에 대해 제공된 기본 키와 숫자(또는 숫자 세트)가 포함된 항목을 만듭니다. 문자열 또는 이진 형식에는 유효하지 않습니다. 

**참고**  
`ADD`를 사용하여 업데이트 전에는 존재하지 않은 항목의 숫자 값을 증가 또는 감소시키는 경우, DynamoDB는 초기 값으로 `0`을 사용합니다. 또한 `ADD`를 사용하여 항목을 업데이트함으로써 업데이트 전에는 존재하지 않은 속성의 숫자 값을 증가 또는 감소시키는 경우, DynamoDB는 초기 값으로 `0`을 사용합니다. 예를 들어, `ADD`를 사용하여 업데이트 전에는 존재하지 않은 속성에 `+3`을 추가합니다. DynamoDB는 `0`을 초기 값으로 사용하고 업데이트 후의 값은`3`입니다.

이 작업의 사용에 대한 자세한 내용은 [DynamoDB의 항목 및 속성 작업](WorkingWithItems.md) 단원을 참조하세요.

## 요청
<a name="API_UpdateItem_RequestParameters"></a>

### 구문
<a name="API_UpdateItem_RequestParameters.syntax"></a>

```
// This header is abbreviated.
// For a sample of a complete header, see DynamoDB 하위 수준 API.
POST / HTTP/1.1 
x-amz-target: DynamoDB_20111205.UpdateItem
content-type: application/x-amz-json-1.0

{"TableName":"Table1",
    "Key":
        {"HashKeyElement":{"S":"AttributeValue1"},
        "RangeKeyElement":{"N":"AttributeValue2"}},
    "AttributeUpdates":{"AttributeName3":{"Value":{"S":"AttributeValue3_New"},"Action":"PUT"}},
    "Expected":{"AttributeName3":{"Value":{"S":"AttributeValue3_Current"}}},
    "ReturnValues":"ReturnValuesConstant"
}
```


****  

|  명칭  |  설명  |  필수 | 
| --- | --- | --- | 
|  TableName  |  업데이트할 항목이 포함된 테이블 이름입니다. 유형: 문자열  |  예  | 
|  Key  | 항목을 정의하는 기본 키입니다. 기본 키에 대한 자세한 내용은 [프라이머리 키](HowItWorks.CoreComponents.md#HowItWorks.CoreComponents.PrimaryKey) 단원을 참조하세요.형식: 해당 값에 대한 `HashKeyElement` 및 해당 값에 대한 `RangeKeyElement`의 맵 | 예 | 
| AttributeUpdates | 업데이트의 새 값 및 작업에 대한 속성 이름의 맵입니다. 속성 이름은 수정할 속성을 지정하며, 기본 키 속성은 포함할 수 없습니다.형식: 속성 업데이트에 대한 속성 이름, 값 및 작업의 맵. |  | 
| AttributeUpdates:Action | 업데이트 수행 방법을 지정합니다. 가능한 값은 `PUT`(기본), `ADD` 또는 `DELETE`입니다. 의미는 UpdateItem 설명에 있습니다.유형: 문자열기본값: `PUT` | 아니요 | 
| Expected  | 조건부 업데이트의 속성을 지정합니다. `Expected` 파라미터를 사용하면 속성 이름뿐만 아니라, DynamoDB에서 속성 값이 이미 존재하는지 또는 속성 값이 존재하며 이를 변경하기 전에 특정 값이 있는지 확인해야 하는지 여부를 제공할 수 있습니다.형식: 속성 이름의 맵 | 아니요 | 
| Expected:AttributeName  | 조건부 입력에 대한 속성 이름입니다.유형: 문자열 | 아니요 | 
| Expected:AttributeName: ExpectedAttributeValue | 이 파라미터를 사용하여 속성 이름-값 페어의 값이 존재할지 여부를 지정합니다.다음 JSON 표기법은 항목의 "Color" 속성이 없을 경우 해당 항목을 업데이트합니다.<pre>"Expected" :<br />	{"Color":{"Exists":false}}</pre>다음 JSON 표기법은 항목을 업데이트하기 전에 이름이 "Color"인 속성의 기존 값이 "Yellow"인지 여부를 확인합니다.<pre>"Expected" : <br />	{"Color":{"Exists":true},{"Value":{"S":"Yellow"}}}</pre>기본적으로 `Expected` 파라미터를 사용하고 `Value`를 제공하는 경우 DynamoDB는 속성이 존재하고 바꿀 현재 값이 있는 것으로 가정합니다. 따라서 `{"Exists":true}`가 내재되어 있으므로 지정하지 않아도 됩니다. 요청을 다음과 같이 줄일 수 있습니다.<pre>"Expected" : <br />	{"Color":{"Value":{"S":"Yellow"}}}</pre> 확인할 속성 값이 없을 때 `{"Exists":true}`를 지정하면 DynamoDB는 오류를 반환합니다.  | 아니요 | 
| ReturnValues  | 속성 이름-값 페어가 `UpdateItem` 요청으로 업데이트되기 전에 이를 가져오려면 이 파라미터를 사용합니다. 가능한 파라미터 값은 `NONE`(기본) 또는 `ALL_OLD`, `UPDATED_OLD`, `ALL_NEW` 또는 `UPDATED_NEW`입니다. `ALL_OLD`가 지정되어 있으며 `UpdateItem`이 속성 이름-값 페어를 덮어쓴 경우, 이전 항목의 내용이 반환됩니다. 이 파라미터가 제공되지 않거나 `NONE`인 경우, 아무 것도 반환되지 않습니다. `ALL_NEW`가 지정된 경우, 해당 항목에 대한 새 버전의 모든 속성이 반환됩니다. `UPDATED_NEW`가 지정된 경우, 업데이트된 속성의 새 버전만 반환됩니다.유형: 문자열 | 아니요 | 

## 응답
<a name="API_UpdateItem_CommonResponseElements"></a>

### 구문
<a name="API_UpdateItem_CommonResponseElements.syntax"></a>

다음 구문 예는 요청에 `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: 140

{"Attributes":{
	"AttributeName1":{"S":"AttributeValue1"},
	"AttributeName2":{"S":"AttributeValue2"},
	"AttributeName3":{"S":"AttributeValue3"},
	"AttributeName5":{"B":"dmFsdWU="}
	},
"ConsumedCapacityUnits":1
}
```


****  

|  명칭  |  설명  | 
| --- | --- | 
|  Attributes  | 속성 이름-값 페어의 맵입니다. 단 `ReturnValues` 파라미터가 요청에서 `NONE` 이외의 값으로 지정된 경우만 해당됩니다.형식: 속성 이름-값 페어의 맵 | 
| ConsumedCapacityUnits | 작업에서 사용한 쓰기 용량 단위의 수입니다. 이 값은 할당 처리량에 적용되는 수를 나타냅니다. 자세한 정보는 [DynamoDB 프로비저닝된 용량 모드](provisioned-capacity-mode.md) 섹션을 참조하세요. 형식: 숫자 | 

## 특수 오류
<a name="API_UpdateItem_SpecialErrors"></a>


****  

|  Error  |  설명  | 
| --- | --- | 
|  ConditionalCheckFailedException  | 조건부 확인이 실패했습니다. 속성("\$1 name \$1") 값은 ("\$1 value \$1")이지만 ("\$1 expValue \$1")로 예상되었습니다. | 
| ResourceNotFoundExceptions  | 지정된 항목 또는 속성을 찾을 수 없습니다. | 

## 예시
<a name="API_UpdateItem_Examples"></a>

AWS SDK를 사용하는 예는 [DynamoDB의 항목 및 속성 작업](WorkingWithItems.md) 단원을 참조하세요.

### 샘플 요청
<a name="API_UpdateItem_Examples_Request"></a>

```
// This header is abbreviated. For a sample of a complete header, see DynamoDB 하위 수준 API.
POST / HTTP/1.1 
x-amz-target: DynamoDB_20111205.UpdateItem
content-type: application/x-amz-json-1.0 

{"TableName":"comp5",
    "Key":
        {"HashKeyElement":{"S":"Julie"},"RangeKeyElement":{"N":"1307654350"}},
    "AttributeUpdates":
        {"status":{"Value":{"S":"online"},
        "Action":"PUT"}},
    "Expected":{"status":{"Value":{"S":"offline"}}},
    "ReturnValues":"ALL_NEW"
}
```

### 샘플 응답
<a name="API_UpdateItem_Examples_Response"></a>

```
HTTP/1.1 200 OK
x-amzn-RequestId: 5IMHO7F01Q9P7Q6QMKMMI3R3QRVV4KQNSO5AEMVJF66Q9ASUAAJG
content-type: application/x-amz-json-1.0
content-length: 121
Date: Fri, 26 Aug 2011 21:05:00 GMT

{"Attributes":
    {"friends":{"SS":["Lynda, Aaron"]},
    "status":{"S":"online"},
    "time":{"N":"1307654350"},
    "user":{"S":"Julie"}},
"ConsumedCapacityUnits":1
}
```

## 관련 작업
<a name="API_UpdateItem_Related_Actions"></a>
+  [PutItem](API_PutItem_v20111205.md) 
+  [DeleteItem](API_DeleteItem_v20111205.md) 

# UpdateTable
<a name="API_UpdateTable_v20111205"></a>

**중요**  
***이 단원에서 언급되는 API 버전 2011-12-05는 사용 중단되었으며 새 애플리케이션에 사용해서는 안 됩니다.***  
 **현재 하위 수준 API에 대한 설명서는 [Amazon DynamoDB API 참조](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/) 섹션을 참조하세요.**

## 설명
<a name="API_updatetable_Description"></a>

주어진 테이블의 할당 처리량을 업데이트합니다. 테이블 처리량을 설정하면 성능을 관리하는 데 효과적이기 때문에 DynamoDB에서 프로비저닝 처리량 기능으로 지원되고 있습니다. 자세한 내용은 [DynamoDB 프로비저닝된 용량 모드](provisioned-capacity-mode.md) 단원을 참조하십시오.

프로비저닝 처리량 값은 [Amazon DynamoDB의 할당량](ServiceQuotas.md)의 상한값과 하한값에 따라 높이거나 낮출 수 있습니다.

업데이트 작업이 성공하려면 테이블이 `ACTIVE` 상태이어야 합니다. UpdateTable은 비동기식 작업입니다. 즉, 작업 중에는 테이블이 `UPDATING` 상태가 됩니다. 테이블이 `UPDATING` 상태이더라도 할당 처리량은 호출 전과 같습니다. 새로운 할당 처리량 설정은 UpdateTable 작업이 끝나고 테이블이 `ACTIVE` 상태로 돌아온 후부터 적용됩니다.

## 요청
<a name="API_UpdateTable_RequestParameters"></a>

### 구문
<a name="API_UpdateTable_RequestParameters.syntax"></a>

```
// This header is abbreviated. 
// For a sample of a complete header, see DynamoDB 하위 수준 API.
POST / HTTP/1.1 
x-amz-target: DynamoDB_20111205.UpdateTable
content-type: application/x-amz-json-1.0

{"TableName":"Table1",
    "ProvisionedThroughput":{"ReadCapacityUnits":5,"WriteCapacityUnits":15}
}
```


****  

|  명칭  |  설명  |  필수 | 
| --- | --- | --- | 
|  TableName  |  업데이트할 테이블 이름  유형: 문자열   |  예  | 
|  ProvisionedThroughput  | 지정 테이블의 새로운 처리량으로서 `ReadCapacityUnits` 값과 `WriteCapacityUnits` 값으로 구성됩니다. [DynamoDB 프로비저닝된 용량 모드](provisioned-capacity-mode.md) 섹션을 참조하세요.유형: 배열  | 예 | 
| ProvisionedThroughput :ReadCapacityUnits |  DynamoDB가 다른 작업과 로드 밸런스를 맞출 때까지 지정 테이블에서 사용되는 consistent `ReadCapacityUnits`의 초당 최소 수를 설정합니다. Eventually consistent read 작업은 consistent read 작업에 비해 필요한 부하가 적습니다. 따라서 초당 consistent `ReadCapacityUnits`를 50으로 설정하면 초당 eventually consistent `ReadCapacityUnits`는 100이 됩니다.형식: 숫자  | 예 | 
| ProvisionedThroughput :WriteCapacityUnits |  DynamoDB가 다른 작업과 로드 밸런스를 맞출 때까지 지정 테이블에서 사용되는 `WriteCapacityUnits`의 초당 최소 수를 설정합니다.형식: 숫자  | 예 | 

## 응답
<a name="API_UpdateTable_ResponseElements"></a>

### 구문
<a name="API_UpdateTable_ResponseElements.syntax"></a>

```
HTTP/1.1 200 OK
x-amzn-RequestId: CSOC7TJPLR0OOKIRLGOHVAICUFVV4KQNSO5AEMVJF66Q9ASUAAJG
Content-Type: application/json
Content-Length: 311
Date: Tue, 12 Jul 2011 21:31:03 GMT

{"TableDescription":
    {"CreationDateTime":1.321657838135E9,
    "KeySchema":
        {"HashKeyElement":{"AttributeName":"AttributeValue1","AttributeType":"S"},
        "RangeKeyElement":{"AttributeName":"AttributeValue2","AttributeType":"N"}},
    "ProvisionedThroughput":
        {"LastDecreaseDateTime":1.321661704489E9,
        "LastIncreaseDateTime":1.321663607695E9,
        "ReadCapacityUnits":5,
        "WriteCapacityUnits":10},
    "TableName":"Table1",
    "TableStatus":"UPDATING"}}
```


****  

|  명칭  |  설명  | 
| --- | --- | 
| CreationDateTime | 테이블 생성 날짜형식: 숫자 | 
|  KeySchema  | 테이블의 기본 키(단순 또는 복합) 구조. `HashKeyElement`에서는 이름-값 페어가 필수이지만 `RangeKeyElement`에서는 선택 사항입니다(복합 기본 키의 경우에만 필요함). 최대 해시 키 크기는 2,048byte입니다. 최대 범위 키 크기는 1,024byte입니다. 두 키의 크기 제한은 별도로 적용됩니다(해시 \$1 범위 키 2,048 \$1 1,024 합산). 기본 키에 대한 자세한 내용은 [프라이머리 키](HowItWorks.CoreComponents.md#HowItWorks.CoreComponents.PrimaryKey) 단원을 참조하세요.형식: `HashKeyElement` 맵, 또는 복합 기본 키의 `HashKeyElement` 및 `RangeKeyElement` | 
| ProvisionedThroughput | `LastIncreaseDateTime` 값(해당되는 경우)과 `LastDecreaseDateTime` 값(해당되는 경우)을 포함하여 지정 테이블의 현재 처리량 설정,유형: 배열  | 
|  TableName  |  업데이트된 테이블 이름 유형: 문자열  | 
|  TableStatus  | 현재 테이블 상태(CREATING, ACTIVE, DELETING 또는 UPDATING). UPDATING이 되어야 합니다.[DescribeTables](API_DescribeTables_v20111205.md) 작업을 사용하여 테이블 상태를 확인합니다.유형: 문자열 | 

## 특수 오류
<a name="API_UpdateTable_SpecialErrors"></a>


****  

|  Error  |  설명  | 
| --- | --- | 
| ResourceNotFoundException  | 지정된 테이블을 찾을 수 없습니다. | 
| ResourceInUseException | 테이블이 ACTIVE 상태가 아닙니다. | 

## 예
<a name="API_UpdateTable_Examples"></a>

### 샘플 요청
<a name="API_UpdateTable_Examples_Request"></a>

```
// This header is abbreviated. 
// For a sample of a complete header, see DynamoDB 하위 수준 API.
POST / HTTP/1.1 
x-amz-target: DynamoDB_20111205.UpdateTable
content-type: application/x-amz-json-1.0

{"TableName":"comp1",
    "ProvisionedThroughput":{"ReadCapacityUnits":5,"WriteCapacityUnits":15}
}
```

### 샘플 응답
<a name="API_UpdateTable_Examples_Response"></a>

```
HTTP/1.1 200 OK
content-type: application/x-amz-json-1.0
content-length: 390
Date: Sat, 19 Nov 2011 00:46:47 GMT

{"TableDescription":
    {"CreationDateTime":1.321657838135E9,
    "KeySchema":
        {"HashKeyElement":{"AttributeName":"user","AttributeType":"S"},
        "RangeKeyElement":{"AttributeName":"time","AttributeType":"N"}},
    "ProvisionedThroughput":
        {"LastDecreaseDateTime":1.321661704489E9,
        "LastIncreaseDateTime":1.321663607695E9,
        "ReadCapacityUnits":5,
        "WriteCapacityUnits":10},
    "TableName":"comp1",
    "TableStatus":"UPDATING"}
}
```

## 관련 작업
<a name="API_UpdateTable_Related_Actions"></a>
+  [CreateTable](API_CreateTable_v20111205.md) 
+  [DescribeTables](API_DescribeTables_v20111205.md) 
+  [DeleteTable](API_DeleteTable_v20111205.md) 