

# 以前の低レベル DynamoDB API バージョン (2011-12-05)
<a name="Appendix.APIv20111205"></a>

このセクションでは、以前の DynamoDB 低レベル API (2011-12-05) で利用可能なオペレーションについて説明します。このバージョンの低レベル API は、既存のアプリケーションとの下位互換性のために維持されています。

**新しいアプリケーションでは、最新の API バージョン (2012-08-10) を使用してください。**詳細については、「[DynamoDB API リファレンス](CurrentAPI.md)」を参照してください。

**注記**  
DynamoDB の新機能は以前の API バージョンにバックポートされないため、既存のアプリケーションを新しい API バージョン (2012-08-10) に移行することをお勧めします。

**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)
+ [Scan](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` オペレーションは、プライマリキーを使用して、複数のテーブルの複数の項目の属性を返します。1 回のオペレーションで取得できる項目の最大数は 100 です。また、取得される項目の数は、1 MB のサイズ制限によって制限されます。テーブルのプロビジョニングされたスループットを超えたことや内部処理が失敗したことが原因でレスポンスサイズの制限を超えた場合または結果の一部だけが返された場合、DynamoDB は `UnprocessedKeys` 値を返すので、取得する次の項目からオペレーションを再試行できます。DynamoDB は、この制限を適用するために、ページごとに返される項目の数を自動的に調整します。例えば、100 個の項目を取得するようにリクエストしても、個々の項目のサイズが 50 KB の場合、返されるのは 20 個の項目だけなので、適切な `UnprocessedKeys` 値を設定して結果の次のページを取得できます。必要に応じて、アプリケーションに独自のロジックを組み込んで、結果のページを 1 つのセットにまとめることができます。

リクエストに含まれる各テーブルのプロビジョニングされたスループットが不十分だったことが原因で処理される項目がなかった場合、DynamoDB は `ProvisionedThroughputExceededException` エラーを返します。

**注記**  
デフォルトでは、`BatchGetItem` は、リクエスト内の各テーブルに対して結果整合性のある読み込みを実行します。整合性のある読み込みが必要な場合は、テーブルごとに `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  | プライマリキーで取得するテーブル名および対応する項目のコンテナ。項目をリクエストしている間、各テーブル名はオペレーションごとに 1 回だけ呼び出すことができます。型: 文字列 デフォルト: なし  |  はい | 
| Table |  取得する項目を含んでいるテーブルの名前。エントリは、ラベルのない既存のテーブルを指定する文字列です。 型: 文字列  デフォルト: なし   | はい | 
| Table:Keys  |  指定されたテーブルの項目を定義するプライマリのキーバリュー。プライマリキーの詳細については、「[プライマリキー](HowItWorks.CoreComponents.md#HowItWorks.CoreComponents.PrimaryKey)」を参照してください。 型: キー   | はい | 
| Table:AttributesToGet  |  指定したテーブル内の属性名の配列。属性名が指定されていない場合、すべての属性が返されます。見つからなかった属性は結果に表示されません。 型: 配列   | いいえ | 
| Table:ConsistentRead  |  `true` に設定されている場合、整合性のある読み込みが発行されます。それ以外の場合、結果整合性が使用されます。 型: ブール値   | 不可 | 

## レスポンス
<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` に設定されている場合、指定されたテーブルに対して整合性のある読み込みが使用されます。それ以外の場合は、結果整合性のある読み込みが使用されます。 型: ブール。  | 

## 特殊なエラー
<a name="API_BatchGetItem_SpecialErrors"></a>


****  

|  エラー  |  説明  | 
| --- | --- | 
| ProvisionedThroughputExceededException  | 許可されているプロビジョニングスループットの最大値を超えました。  | 

## 例
<a name="API_BatchGetItem_Examples"></a>

次の例は、BatchGetItem オペレーションを使用した HTTP POST リクエストとレスポンスを示しています。AWS SDK を使用した例については、「[DynamoDB での項目と属性の操作](WorkingWithItems.md)」を参照してください。

### リクエスト例
<a name="API_BatchGetItem_Examples_Request"></a>

次の例では、2 つの異なるテーブルの属性をリクエストします。

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

このオペレーションでは、単一の呼び出しで、複数のテーブルの複数の項目を配置または削除できます。

1 つの項目をアップロードするには、`PutItem` を使用できます。1 つの項目を削除するには、`DeleteItem` を使用できます。ただし、Amazon EMR (Amazon EMR) から大量のデータをアップロードする場合や別のデータベースのデータを DynamoDB に移行する場合など、大量のデータをアップロードまたは削除する場合、`BatchWriteItem` では効率的な方法が用意されています。

Java などの言語を使用する場合は、スレッドを使用して項目を並列でアップロードできます。これにより、スレッドを処理するアプリケーションの複雑さが増します。他の言語はスレッドの使用をサポートしていません。例えば、PHP を使用している場合は、項目を 1 つずつアップロードまたは削除する必要があります。どちらの状況でも、`BatchWriteItem` は、指定されたアップロードおよび削除オペレーションを並列で処理する代替手段を提供し、アプリケーションを複雑にすることなくスレッドプールのアプローチの威力を発揮します。

`BatchWriteItem` オペレーションで指定された個々のアップロードと削除のコストは、消費される容量単位と同じです。ただし、指定したオペレーションが `BatchWriteItem` によって並列で実行されると、レイテンシーが小さくなります。存在しない項目に対する削除オペレーションは、書き込み容量ユニットを 1 つ消費します。消費される容量ユニットの詳細については、「[DynamoDB でのテーブルとデータの操作](WorkingWithTables.md)」を参照してください。

`BatchWriteItem` を使用する場合、以下の制限に注意してください。
+ **1 つのリクエストにおける最大オペレーション数 - **最大 25 個のアップロードまたは削除オペレーションを指定できます。ただし、リクエストの合計サイズは 1 MB (HTTP ペイロード) を超えることはできません。
+ `BatchWriteItem` オペレーションは、項目のアップロードと削除行うためにのみ使用できます。既存の項目を更新するためには使用できません。
+ **アトミック操作ではありません -** 1 つの `BatchWriteItem` で指定されている個々の操作はアトミックです。ただし、`BatchWriteItem` 全体が「ベストエフォート」操作であり、アトミック操作ではありません。したがって、`BatchWriteItem` リクエストでは、一部のオペレーションは成功し、他のオペレーションは失敗する可能性があります。失敗したオペレーションは、レスポンスの `UnprocessedItems` フィールドに返されます。これらの失敗の原因としては、テーブルに設定されているプロビジョニングされたスループットを超えたか、ネットワークエラーなどの一時的な障害が考えられます。リクエストを調査し、必要に応じてリクエストを再送信できます。通常、ループ内で `BatchWriteItem` を呼び出し、各反復で未処理の項目をチェックして、未処理の項目とともに新しい `BatchWriteItem` リクエストを送信します。
+ **項目は返されません -** `BatchWriteItem` は大量のデータを効率的にアップロードするように設計されています。`PutItem` および `DeleteItem` で提供されている高度な機能の一部は提供されていません。例えば、`DeleteItem` は、レスポンス内の削除済み項目をリクエストするためにリクエストボディ内の `ReturnValues` フィールドをサポートします。`BatchWriteItem` オペレーションはレスポンスで項目を返しません。
+ `PutItem` や `DeleteItem` とは異なり、`BatchWriteItem` では、オペレーション内の個々の書き込みリクエストに対して条件を指定することはできません。
+ 属性値は NULL であってはなりません。文字列型およびバイナリ型属性の長さは 0 より大きくなければなりません。また、セット型属性は空であってはなりません。空の値を持つリクエストは、`ValidationException` で拒否されます。

DynamoDB は、次のいずれかが真である (true) 場合バッチ書き込みオペレーション全体を拒否します。
+ `BatchWriteItem` リクエスト内で指定したテーブルが存在しない。
+ リクエスト内の項目で指定されたプライマリキー属性が、対応するテーブルのプライマリキースキーマと一致しない。
+ 同じ `BatchWriteItem` リクエストで同じ項目に複数のオペレーションを実行する。例えば、同じ項目を同一の `BatchWriteItem` リクエストでアップロードおよび削除することはできません。
+ 合計リクエストサイズが 1 MB のリクエストサイズ (HTTP ペイロード) 制限を超過する。
+ バッチ内の個々の項目が 64 KB の項目のサイズ制限を超えている。

## リクエスト
<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 テーブルに対して 1 つの項目の配置と削除を行う
+ 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 エンドポイントは完全に独立しています。例えば、"MyTable" というテーブルが dynamodb.us-west-2.amazonaws.com と dynamodb.us-west-1.amazonaws.com にある場合、この 2 つの "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～z、A～Z、0～9、'\$1' (アンダースコア)、'-' (ダッシュ)、'.' (ドット) です。名前は 3～255 文字の長さです。 型: 文字列  |  はい  | 
|  KeySchema  | テーブルのプライマリキー (シンプルまたは複合) 構造。`HashKeyElement` の名前と値のペアは必須です。`RangeKeyElement` の名前と値のペアはオプションです (複合プライマリキーにのみ必要)。プライマリキーの詳細については、「[プライマリキー](HowItWorks.CoreComponents.md#HowItWorks.CoreComponents.PrimaryKey)」を参照してください。プライマリキー要素の名前は 1～255 文字の長さで、使用できる文字の制限はありません。 AttributeType に指定できる値は、「S」(文字列)、「N」(数値)、または「B」(バイナリ) です。型: 複合プライマリキーの `HashKeyElement`、または `HashKeyElement` および `RangeKeyElement` のマップ。 | はい | 
|  ProvisionedThroughput  | 指定したテーブルの新しいスループット (ReadCapacityUnits と WriteCapacityUnits の値で構成されます)。詳細については、「[DynamoDB プロビジョンドキャパシティモード](provisioned-capacity-mode.md)」を参照してください。 現在の最大値/最小値については、「[Amazon DynamoDB のクォータ](ServiceQuotas.md)」を参照してください。 型: 配列  | はい | 
| ProvisionedThroughput: ReadCapacityUnits |  DynamoDB がロードとその他のオペレーションのバランスを取る前に、指定したテーブルで 1 秒あたりに消費される整合性のある `ReadCapacityUnits` の最小数を設定します。 結果整合性のある読み込みオペレーションに必要な労力は、整合性のある読み込みオペレーションより少ないので、1 秒あたり 50 の整合性のある `ReadCapacityUnits` の設定では、1 秒あたり 100 の結果整合性のある `ReadCapacityUnits` が実現します。型: 数値  | はい | 
| ProvisionedThroughput: WriteCapacityUnits | DynamoDB がロードとその他のオペレーションのバランスを取る前に、指定したテーブルで 1 秒あたりに消費される整合性のある 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 エポック時間](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 がロードとその他のオペレーションのバランスを取る前に 1 秒あたりに消費される `ReadCapacityUnits` の最小数。型: 数値  | 
| ProvisionedThroughput :WriteCapacityUnits |  `WriteCapacityUnits` がロードとその他のオペレーションのバランスを取る前に 1 秒あたりに消費される `ReadCapacityUnits` の最小数。型: 数値  | 
|  TableName  |  作成されたテーブルの名前。 型: 文字列  | 
|  TableStatus  | テーブルの現在の状態 (`CREATING`)。テーブルが `ACTIVE` 状態になったらデータを配置できます。テーブルのステータスを確認するには、[DescribeTables](API_DescribeTables_v20111205.md) API を使用します。型: 文字列 | 

## 特殊なエラー
<a name="API_CreateTable_SpecialErrors"></a>


****  

|  エラー  |  説明  | 
| --- | --- | 
|  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>

プライマリキーを使用してテーブルから 1 つの項目を削除します。項目が存在する場合、または予期される属性値が項目にある場合は、項目を削除する条件付き削除オペレーションを実行できます。

**注記**  
属性または値なしで `DeleteItem` を指定すると、項目のすべての属性が削除されます。  
条件を指定した場合を除き、`DeleteItem` は、べき等性の操作です。同じ項目または属性に対して複数回実行してもエラーレスポンスが*返されません*。  
条件付き削除は、特定の条件が満たされた場合にのみ項目と属性を削除する場合に便利です。条件が満たされると、DynamoDB は削除を実行します。それ以外の場合、項目は削除されません。  
1 度のオペレーションにつき 1 つの属性に対して、予期される条件チェックを実行できます。

## リクエスト
<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>


****  

|  エラー  |  説明  | 
| --- | --- | 
|  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 エンドポイントは完全に独立しています。例えば、"MyTable" というテーブルが dynamodb.us-west-2.amazonaws.com と dynamodb.us-west-1.amazonaws.com にある場合、この 2 つの "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 がロードとその他のオペレーションのバランスを取る前に、指定したテーブルで 1 秒あたりに消費される `ReadCapacityUnits` の最小数。型: 数値  | 
| ProvisionedThroughput: WriteCapacityUnits | DynamoDB がロードとその他のオペレーションのバランスを取る前に、指定したテーブルで 1 秒あたりに消費される `WriteCapacityUnits` の最小数。型: 数値  | 
|  TableName  |  削除されたテーブルの名前。 型: 文字列   | 
|  TableStatus  | テーブルの現在の状態 (DELETING)。テーブルが削除されると、テーブルに対する後続のリクエストは resource not found を返します。テーブルのステータスを確認するには、[DescribeTables](API_DescribeTables_v20111205.md) オペレーションを使用します。型: 文字列 | 

## 特殊なエラー
<a name="API_DeleteTable_SpecialErrors"></a>


****  

|  エラー  |  説明  | 
| --- | --- | 
|  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 エポック時間](http://www.epochconverter.com/))。 | 
|  ItemCount  |  指定されたテーブルに含まれる項目の数。DynamoDB は、この値を約 6 時間ごとに更新します。最近の変更は、この値に反映されないことがあります。 型: 数値  | 
|  KeySchema  | テーブルのプライマリキー (シンプルまたは複合) 構造。HashKeyElement の名前と値のペアは必須です。RangeKeyElement の名前と値のペアはオプションです (複合プライマリキーにのみ必要)。ハッシュキーの最大サイズは 2048 バイトです。範囲キーの最大サイズは 1024 バイトです。両方の制限は別々に強制されます (ハッシュと範囲の合計で 2048 \$1 1024 キーを組み合わせることができます)。プライマリキーの詳細については、「[プライマリキー](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` オペレーションは、結果整合性のある読み込みを提供します。結果整合性のある読み込みがアプリケーションで受け入れられない場合は、`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` に設定されている場合、整合性のある読み込みが発行されます。それ以外の場合、結果整合性が使用されます。型: ブール値 | 不可 | 

## レスポンス
<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>

ConsumedCapacityUnits の値が 1 であることに注意してください。これは、オプションのパラメータ `ConsistentRead` が `true` に設定されているからです。同じリクエストで `ConsistentRead` が `false` に設定されている場合 (または指定されていない場合)、レスポンスは結果整合性で、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 エンドポイントは完全に独立しています。例えば、"MyTable" というテーブルが dynamodb.us-west-2.amazonaws.com と dynamodb.us-east-1.amazonaws.com にある場合、この 2 つの "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>


****  

|  エラー  |  説明  | 
| --- | --- | 
|  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` オペレーションオペレーションは、1 つ以上の項目の値とその属性をプライマリキーごとに取得します (`Query` はハッシュと範囲のプライマリキーテーブルでのみ使用できます)。特定の `HashKeyValue` を指定する必要があります。プライマリキーの `RangeKeyValue` で比較オペレーションを使用してクエリの範囲を絞り込むことができます。範囲キーごとに正順または逆順で結果を取得するには、`ScanIndexForward` パラメータを使用します。

結果を返さないクエリは、読み込みのタイプに応じて最小読み込み容量ユニットを消費します。

**注記**  
クエリパラメータを満たす項目の合計数が 1 MB の制限を超えるとクエリが停止し、結果が後続のオペレーションでクエリを続行するための `LastEvaluatedKey` とともにユーザーに返されます。スキャン操作とは異なり、クエリ操作では、空の結果セット*および* `LastEvaluatedKey` が返されません。結果が 1 MB を超える場合、または `Limit` パラメータを使用した場合、`LastEvaluatedKey` のみが返されます。  
`ConsistentRead` パラメータを使用して、結果を整合性のある読み込みに設定できます。

## リクエスト
<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` を返します。また、この制限に達する前に結果セットのサイズが 1 MB を超えた場合、DynamoDB はクエリを停止し、一致する値とともに、後続のオペレーションでクエリをクリックするために適用する `LastEvaluatedKey` を返します。型: 数値 | いいえ | 
| ConsistentRead  | `true` に設定されている場合、整合性のある読み込みが発行されます。それ以外の場合、結果整合性が使用されます。型: ブール値 | いいえ | 
| Count  | `true` に設定されている場合、DynamoDB は、一致する項目とその属性のリストではなく、クエリパラメータに一致する項目の合計数を返します。`Limit` パラメータをカウントのみのクエリに適用できます。 `AttributesToGet` のリストを提供する場合、`Count` を `true` に設定しないでください。そうでないと、DynamoDB は検証エラーを返します。詳細については、「[結果での項目のカウント](Query.Other.md#Query.Count)」を参照してください。型: ブール値 | いいえ | 
| HashKeyValue  | 複合プライマリキーのハッシュコンポーネントの属性値。型: 文字列、数値、またはバイナリ | はい | 
| RangeKeyCondition  | クエリに使用する属性値および比較演算子のコンテナ。クエリリクエストには `RangeKeyCondition` は必要ありません。`HashKeyValue` だけを指定した場合、DynamoDB は、指定されたハッシュキー要素値を持つすべての項目を返します。型: マップ | いいえ | 
| RangeKeyCondition:​ AttributeValueList | クエリパラメータについて評価する属性値。`BETWEEN` 比較を指定した場合を除き、`AttributeValueList` には属性値が 1 つ含まれます。`BETWEEN` 比較では、`AttributeValueList` には、2 つの属性値が含まれます。型: `ComparisonOperator` への `AttributeValue` のマップ。 | いいえ | 
| 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` は、文字列、数値、またはバイナリのうち、1 つの `AttributeValue` のみを含むことができます (セットではありません)。リクエストで指定されているもの以外の型の `AttributeValue` が項目に含まれる場合、値は一致しません。例えば、`{"S":"6"}` は `{"N":"6"}` と等しくありません。また、`{"N":"6"}` は `{"NS":["6", "2", "1"]}` と等しくありません。 |   | 
|   | `LE`: より小さい、または等しい。 `LE` の場合、`AttributeValueList` は、文字列、数値、またはバイナリのうち、1 つの `AttributeValue` のみを含むことができます (セットではありません)。リクエストで指定されているもの以外の型の `AttributeValue` が項目に含まれる場合、値は一致しません。例えば、`{"S":"6"}` は `{"N":"6"}` と等しくありません。また、`{"N":"6"}` は `{"NS":["6", "2", "1"]}` と比較されません。 |   | 
|   | `LT`: より小さい。 `LT` の場合、`AttributeValueList` は、文字列、数値、またはバイナリのうち、1 つの `AttributeValue` のみを含むことができます (セットではありません)。リクエストで指定されているもの以外の型の `AttributeValue` が項目に含まれる場合、値は一致しません。例えば、`{"S":"6"}` は `{"N":"6"}` と等しくありません。また、`{"N":"6"}` は `{"NS":["6", "2", "1"]}` と比較されません。 |   | 
|   | `GE`: より大きい、または等しい。 `GE` の場合、`AttributeValueList` は、文字列、数値、またはバイナリのうち、1 つの `AttributeValue` のみを含むことができます (セットではありません)。リクエストで指定されているもの以外の型の `AttributeValue` が項目に含まれる場合、値は一致しません。例えば、`{"S":"6"}` は `{"N":"6"}` と等しくありません。また、`{"N":"6"}` は `{"NS":["6", "2", "1"]}` と比較されません。 |   | 
|   | `GT`: より大きい。 `GT` の場合、`AttributeValueList` は、文字列、数値、またはバイナリのうち、1 つの `AttributeValue` のみを含むことができます (セットではありません)。リクエストで指定されているもの以外の型の `AttributeValue` が項目に含まれる場合、値は一致しません。例えば、`{"S":"6"}` は `{"N":"6"}` と等しくありません。また、`{"N":"6"}` は `{"NS":["6", "2", "1"]}` と比較されません。 |   | 
|   | `BEGINS_WITH`: プレフィックスを確認します。 `BEGINS_WITH` の場合、`AttributeValueList` は、文字列またはバイナリの 1 つの `AttributeValue` のみを含むことができます (数値やセットではありません)。比較のターゲット属性は、(数値またはセットではなく) 文字列またはバイナリである必要があります。 |   | 
|   | `BETWEEN`: 最初の値より大きいまたは等しい、および 2 番目の値より小さいまたは等しい。 `BETWEEN` の場合、`AttributeValueList` は、文字列、数値、またはバイナリのいずれかの同じ型の 2 つの `AttributeValue` 要素を含む必要があります (セットではありません)。ターゲット属性は、ターゲット値が最初の要素より大きいか等しく、2番目の要素より小さいか等しい場合に一致します。リクエストで指定されているもの以外の型の `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>


****  

|  エラー  |  説明  | 
| --- | --- | 
| 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>
+  [Scan](API_Scan_v20111205.md) 

# Scan
<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` オペレーションは、テーブルのフルスキャンを実行することにより、1 つ以上の項目とその属性を返します。より詳細な結果を取得するには、`ScanFilter` を使用します。

**注記**  
スキャンされた項目の合計数が 1 MB の制限を超えると、スキャンが停止し、結果が後続のオペレーションでスキャンを続行するための `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` を返します。また、この制限に達する前に、スキャンされたデータセットのサイズが 1MB を超えた場合、DynamoDB はスキャンを停止し、制限までの一致値とともに、後続のオペレーションでスキャンを続行するために適用する `LastEvaluatedKey` を返します。型: 数値 | いいえ | 
| Count  | `true` に設定されている場合、DynamoDB は、割り当てられたフィルターに一致する項目がなくても、スキャンオペレーションの項目の合計数を返します。Limit パラメータは、カウントのみのスキャンに適用できます。 `AttributesToGet` のリストを提供する場合、`Count` を `true` に設定しないでください。そうでないと、DynamoDB は検証エラーを返します。詳細については、「[結果での項目のカウント](Scan.md#Scan.Count)」を参照してください。型: ブール値 | いいえ | 
| ScanFilter  | スキャン結果を評価し、目的の値のみを返します。複数の条件は「AND」オペレーションとして扱われます。すべての条件を満たす値だけが結果に含まれます。 型: 比較演算子を含む値への属性名のマップ。 | いいえ | 
| ScanFilter:AttributeValueList | フィルターのスキャン結果を評価するための値と条件。型: `Condition` への `AttributeValue` のマップ。 | いいえ | 
| 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` は、文字列、数値、またはバイナリのうち、1 つの `AttributeValue` のみを含むことができます (セットではありません)。リクエストで指定されているもの以外の型の `AttributeValue` が項目に含まれる場合、値は一致しません。例えば、`{"S":"6"}` は `{"N":"6"}` と等しくありません。また、`{"N":"6"}` は `{"NS":["6", "2", "1"]}` と等しくありません。 |   | 
|   | `NE`: 等しくない。 `NE` の場合、`AttributeValueList` は、文字列、数値、またはバイナリのうち、1 つの `AttributeValue` のみを含むことができます (セットではありません)。リクエストで指定されているもの以外の型の `AttributeValue` が項目に含まれる場合、値は一致しません。例えば、`{"S":"6"}` は `{"N":"6"}` と等しくありません。また、`{"N":"6"}` は `{"NS":["6", "2", "1"]}` と等しくありません。 |   | 
|   | `LE`: より小さい、または等しい。 `LE` の場合、`AttributeValueList` は、文字列、数値、またはバイナリのうち、1 つの `AttributeValue` のみを含むことができます (セットではありません)。リクエストで指定されているもの以外の型の `AttributeValue` が項目に含まれる場合、値は一致しません。例えば、`{"S":"6"}` は `{"N":"6"}` と等しくありません。また、`{"N":"6"}` は `{"NS":["6", "2", "1"]}` と比較されません。 |   | 
|   | `LT`: より小さい。 `LT` の場合、`AttributeValueList` は、文字列、数値、またはバイナリのうち、1 つの `AttributeValue` のみを含むことができます (セットではありません)。リクエストで指定されているもの以外の型の `AttributeValue` が項目に含まれる場合、値は一致しません。例えば、`{"S":"6"}` は `{"N":"6"}` と等しくありません。また、`{"N":"6"}` は `{"NS":["6", "2", "1"]}` と比較されません。 |   | 
|   | `GE`: より大きい、または等しい。 `GE` の場合、`AttributeValueList` は、文字列、数値、またはバイナリのうち、1 つの `AttributeValue` のみを含むことができます (セットではありません)。リクエストで指定されているもの以外の型の `AttributeValue` が項目に含まれる場合、値は一致しません。例えば、`{"S":"6"}` は `{"N":"6"}` と等しくありません。また、`{"N":"6"}` は `{"NS":["6", "2", "1"]}` と比較されません。 |   | 
|   | `GT`: より大きい。 `GT` の場合、`AttributeValueList` は、文字列、数値、またはバイナリのうち、1 つの `AttributeValue` のみを含むことができます (セットではありません)。リクエストで指定されているもの以外の型の `AttributeValue` が項目に含まれる場合、値は一致しません。例えば、`{"S":"6"}` は `{"N":"6"}` と等しくありません。また、`{"N":"6"}` は `{"NS":["6", "2", "1"]}` と比較されません。 |   | 
|   | `NOT_NULL` : 属性が存在します。  |   | 
|   | `NULL`: 属性は存在しません。  |   | 
|   | `CONTAINS`: サブシーケンス、またはセット内の値をチェックします。 `CONTAINS` の場合、`AttributeValueList` は、文字列、数値、またはバイナリのうち、1 つの `AttributeValue` のみを含むことができます (セットではありません)。比較のターゲット属性が文字列の場合、オペレーションは部分文字列の一致をチェックします。比較のターゲット属性がバイナリの場合、オペレーションは入力に一致するターゲットのサブシーケンスを検索します。比較のターゲット属性がセット (「SS」、「NS」、または「BS」) である場合、オペレーションは、(部分文字列としてではなく) セットの要素をチェックします。 |   | 
|   | `NOT_CONTAINS`: サブシーケンスの欠如、またはセット内の値の欠如をチェックします。 `NOT_CONTAINS` の場合、`AttributeValueList` は、文字列、数値、またはバイナリのうち、1 つの `AttributeValue` のみを含むことができます (セットではありません)。比較のターゲット属性が文字列の場合、オペレーションは部分文字列の欠如がないかどうかをチェックします。比較のターゲット属性がバイナリである場合、オペレーションは入力に一致するターゲットのサブシーケンスの欠如がないかどうかをチェックします。比較のターゲット属性がセット (「SS」、「NS」、または「BS」) である場合、オペレーションは、(部分文字列としてではなく) セットの要素の欠如ないかどうかをチェックします。 |   | 
|   | `BEGINS_WITH`: プレフィックスを確認します。 `BEGINS_WITH` の場合、`AttributeValueList` は、文字列またはバイナリの 1 つの `AttributeValue` のみを含むことができます (数値やセットではありません)。比較のターゲット属性は、(数値またはセットではなく) 文字列またはバイナリである必要があります。 |   | 
|   | `IN`: 完全一致をチェックします。 `IN` の場合、`AttributeValueList` は、文字列、数値、またはバイナリの 1 つ以上の `AttributeValue` を含むことができます (セットではありません)。比較のターゲット属性は、一致対象と同じ型および同じ値である必要があります。文字列は、文字列セットと一致しません。 |   | 
|   | `BETWEEN`: 最初の値より大きいまたは等しい、および 2 番目の値より小さいまたは等しい。 `BETWEEN` の場合、`AttributeValueList` は、文字列、数値、またはバイナリのいずれかの同じ型の 2 つの `AttributeValue` 要素を含む必要があります (セットではありません)。ターゲット属性は、ターゲット値が最初の要素より大きいか等しく、2番目の要素より小さいか等しい場合に一致します。リクエストで指定されているもの以外の型の `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>


****  

|  エラー  |  説明  | 
| --- | --- | 
| 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>


****  

|  エラー  |  説明  | 
| --- | --- | 
|  ConditionalCheckFailedException  | 条件チェックに失敗しました。属性 ("\$1 name \$1") の値は ("\$1 name \$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 がロードとその他のオペレーションのバランスを取る前に、指定したテーブルで 1 秒あたりに消費される整合性のある `ReadCapacityUnits` の最小数を設定します。 結果整合性のある読み込みオペレーションに必要な労力は、整合性のある読み込みオペレーションより少ないので、1 秒あたり 50 の整合性のある `ReadCapacityUnits` の設定では、1 秒あたり 100 の結果整合性のある `ReadCapacityUnits` が実現します。型: 数値  | はい | 
| ProvisionedThroughput :WriteCapacityUnits |  DynamoDB がロードとその他のオペレーションのバランスを取る前に、指定したテーブルで 1 秒あたりに消費される整合性のある `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` の名前と値のペアはオプションです (複合プライマリキーにのみ必要)。ハッシュキーの最大サイズは 2048 バイトです。範囲キーの最大サイズは 1024 バイトです。両方の制限は別々に強制されます (ハッシュと範囲の合計で 2048 \$1 1024 キーを組み合わせることができます)。プライマリキーの詳細については、「[プライマリキー](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>


****  

|  エラー  |  説明  | 
| --- | --- | 
| 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) 