중요
이 단원에서 언급되는 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
}