Examen
importante
Esta sección se refiere a la versión 2011-12-05 del API, que está obsoleta y no debe utilizarse para nuevas aplicaciones.
Para consultar la documentación sobre la API de bajo nivel actual, consulte la Referencia de la API de Amazon DynamoDB.
Descripción
La operación Scan
lleva a cabo un examen completo de una tabla y devuelve uno o varios elementos y sus atributos. Proporcione un filtro ScanFilter
para obtener resultados más específicos.
nota
Si la cantidad total de elementos examinados supera el límite de 1 MB, el examen se detiene y se devuelven los resultados al usuario; en este caso, se facilita un LastEvaluatedKey
para que pueda continuar el examen en una operación posterior. Además, los resultados incluyen la cantidad de elementos que superan el límite. En un examen, puede suceder que ninguno de los datos de la tabla cumplan los criterios de filtro.
El conjunto de resultados presenta consistencia final.
Solicitudes
Sintaxis
// This header is abbreviated. // For a sample of a complete header, see API de bajo nivel de DynamoDB. 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"]}, }
Nombre | Descripción | Obligatorio |
---|---|---|
TableName
|
Nombre de la tabla que contiene los elementos solicitados. Tipo: cadena |
Sí |
AttributesToGet
|
Matriz de nombres de atributo. Si no se especifican sus nombres, se devuelven todos los atributos. Si algún atributo no se encuentra, no aparecerá en los resultados. Tipo: matriz |
No |
Limit
|
Número máximo de elementos que se van a evaluar, que no es necesariamente el número de elementos coincidentes. Si DynamoDB alcanza el límite de cantidad de elementos mientras procesa los resultados, se detiene y devuelve los valores coincidentes hasta ese punto, junto con un Tipo: Number |
No |
Count
|
Si se establece en No establezca Tipo: Booleano |
No |
ScanFilter
|
Evalúa los resultados del examen y solo devuelve los valores deseados. Si se especifican varias condiciones, se tratan como operaciones "AND": deberán cumplirse todas las condiciones para que se incluyan en los resultados. Tipo: Un mapa de nombres de atributos a valores con operadores de comparación. |
No |
ScanFilter :AttributeValueList |
Valores y condiciones que se usarán para evaluar los resultados del examen para el filtro. Tipo: Map, mapa de |
No |
ScanFilter :
ComparisonOperator |
Criterios para evaluar los atributos proporcionados, tales como igual que, mayor que, etc. A continuación se muestran los operadores de comparación válidos para una operación de examen. notaLas comparaciones de valores de cadenas de tipo mayor que, igual que o menor que se basan en sus valores según el código de caracteres ASCII. Por ejemplo, En el tipo Binary, al comparar valores binarios DynamoDB trata cada byte como datos sin signo; por ejemplo, al evaluar expresiones de consulta. Tipo: String o Binary |
No |
Para |
||
Para |
||
Para |
||
Para |
||
Para |
||
Para |
||
|
||
|
||
Para |
||
Para |
||
Para |
||
Para |
||
Para |
||
ExclusiveStartKey |
Clave principal del elemento a partir del cual se continuará un examen anterior. Un examen anterior puede proporcionar este valor si la operación de examen se interrumpió antes de examinar toda la tabla, ya sea debido al tamaño del conjunto de resultados o al parámetro Tipo: |
No |
Respuestas
Sintaxis
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} }
Nombre | Descripción |
---|---|
Items
|
Contenedor de los atributos que coinciden con los parámetros de la operación. Tipo: Map, mapa de los nombres de atributos y sus tipos de datos y valores. |
Count
|
Cantidad de elementos de la respuesta. Para obtener más información, consulte Recuento de los elementos en los resultados. Tipo: Number |
ScannedCount
|
Cantidad de elementos del examen completo antes de aplicar cualquier filtro. Un valor de Tipo: Number |
LastEvaluatedKey |
Clave principal del elemento en la que se detuvo la operación de examen. Proporcione este valor en una operación de examen posterior para continuar la operación a partir de ese punto. El valor de |
ConsumedCapacityUnits |
Cantidad de unidades de capacidad de lectura consumidas por la operación. Este valor muestra el número aplicado al rendimiento aprovisionado. Para obtener más información, consulte Modo de capacidad aprovisionada de DynamoDB. Tipo: Number |
Errores especiales
Error | Descripción |
---|---|
ResourceNotFoundException
|
No se encontró la tabla especificada. |
Ejemplos
Para obtener ejemplos sobre cómo usar el SDK de AWS, consulte Análisis de tablas en DynamoDB.
Solicitud de ejemplo
// This header is abbreviated. For a sample of a complete header, see API de bajo nivel de DynamoDB. POST / HTTP/1.1 x-amz-target: DynamoDB_20111205.Scan content-type: application/x-amz-json-1.0 {"TableName":"1-hash-rangetable","ScanFilter":{}}
Respuesta de ejemplo
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}
Solicitud de ejemplo
// This header is abbreviated. For a sample of a complete header, see API de bajo nivel de DynamoDB. 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"} } }
Respuesta de ejemplo
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 }
Solicitud de ejemplo
// This header is abbreviated. For a sample of a complete header, see API de bajo nivel de DynamoDB. 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"}} }
Respuesta de ejemplo
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 }