스캔
중요
이 단원에서 언급되는 API 버전 2011-12-05는 사용 중단되었으며 새 애플리케이션에 사용해서는 안 됩니다.
현재 하위 수준 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 문자 코드 값을 기준으로 합니다. 예를 들어 이진수의 경우에는, 예를 들어 쿼리 표현식을 평가할 때처럼 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 프로비저닝된 용량 모드 섹션을 참조하세요. 형식: 숫자 |
특수 오류
| Error | 설명 |
|---|---|
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 }