本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
重要
This section refers to API version 2011-12-05,
which is deprecated and should not be used for new
applications.
如需目前低階 的文件API,請參閱 Amazon DynamoDB API參考。
描述
Scan
操作會執行資料表完整掃描來傳回一或多個項目及其屬性。提供 ScanFilter
以取得更特定的結果。
注意
如果已掃描項目總數超過 1MB 限制,則掃描會停止,並將結果傳回給使用者,附帶 LastEvaluatedKey
用以在後續操作中繼續掃描。結果還包括超出限制的項目數。掃描可能導致表內資料皆不符合篩選條件。
結果集為最終一致性。
請求
語法
// 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 在處理結果時處理的項目數達上限,則會停止工作,並傳回截至該時間點的相符值,附帶 類型:數字 |
否 |
Count
|
如果設定為 請勿在提供 類型:布林值 |
否 |
ScanFilter
|
評估掃描結果,並僅傳回所需值。多個條件會被視為「AND」操作:所有條件必須符合才能包含在結果中。 類型:具有比較運算子的值的屬性名稱映射。 |
否 |
ScanFilter :AttributeValueList |
用來評估篩選條件掃描結果的值和條件。 類型: |
否 |
ScanFilter :
ComparisonOperator |
用於評估所提供的屬性的條件,例如等於、大於。以下是掃描操作的有效比較運算子。 注意大於、等於或小於 的字串值比較是根據ASCII字元碼值。例如, 針對 Binary,每當 DynamoDB 比較二進位值,例如在評估查詢表達式時,都會將二進位資料的每個位元組視為不帶正負號。 類型:字串或二進位 |
否 |
對於 |
||
對於 |
||
對於 |
||
對於 |
||
對於 |
||
對於 |
||
|
||
|
||
對於 |
||
對於 |
||
對於 |
||
對於 |
||
對於 |
||
ExclusiveStartKey |
繼續先前掃描之項目的主索引鍵。如果因為結果集大小或 類型:複合主索引鍵的 |
否 |
回應
語法
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
|
回應中的項目數。如需詳細資訊,請參閱 計算結果中的項目。 類型:數字 |
ScannedCount
|
套用任何篩選條件之前的已完成掃描中項目數。 類型:數字 |
LastEvaluatedKey |
停止掃描操作之項目的主索引鍵。在後續掃描操作中提供此值,以便從該時間點繼續操作。 當整個掃描結果集完成時 (意即操作已處理「最後一頁」), |
ConsumedCapacityUnits |
操作所使用的讀取容量單位數目。此值顯示套用至佈建輸送量的數字。如需詳細資訊,請參閱 DynamoDB 佈建容量模式。 類型:數字 |
特殊錯誤
錯誤 | 描述 |
---|---|
ResourceNotFoundException
|
找不到指定的資料表。 |
範例
如需使用 的範例 AWS SDK,請參閱 在 DynamoDB 中掃描資料表。
請求範例
// This header is abbreviated. For a sample of a complete header, see DynamoDB 低階 API. POST / HTTP/1.1 x-amz-target: DynamoDB_20111205.Scan content-type: application/x-amz-json-1.0 {"TableName":"1-hash-rangetable","ScanFilter":{}}
回應範例
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}
請求範例
// 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"} } }
回應範例
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
}
請求範例
// 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"}} }
回應範例
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
}