

# 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) 