Saltar al contenido

¿Cómo obtener el recuento de elementos de DynamoDB?

Estuvimos investigado en distintos sitios y así traerte la solución para tu inquietud, si continúas con alguna duda puedes dejarnos tu duda y te responderemos con gusto.

Solución:

Con aws dynamodb cli, puede obtenerlo mediante escaneo de la siguiente manera:

aws dynamodb scan --table-name  --select "COUNT"

La respuesta será similar a esto:


    "Count": 123,
    "ScannedCount": 123,
    "ConsumedCapacity": null

observe que esta información es en tiempo real en contraste con la API de tabla de descripción

Puedes usar el Select parámetro y uso COUNT en la solicitud. “Devuelve el número de elementos coincidentes, en lugar de los elementos coincidentes en sí mismos”. Importantetal como lo mencionó Saumitra R. Bhave en un comentario, “Si el tamaño del conjunto de resultados de la consulta es superior a 1 MB, ScannedCount y Count representarán solo un recuento parcial del total de elementos. Deberá realizar varias operaciones de consulta para recuperar todos los resultados”..

No estoy familiarizado con PHP, pero así es como podría usarlo con Java. Y luego, en lugar de usar Count (que supongo que es una función en PHP) en el 'Items' puedes usar el Count valor de la respuesta – $result['Count']:

final String week = "whatever";
final Integer myPoint = 1337;
Condition weekCondition = new Condition()
        .withComparisonOperator(ComparisonOperator.EQ)
        .withAttributeValueList(new AttributeValue().withS(week));
Condition myPointCondition = new Condition()
        .withComparisonOperator(ComparisonOperator.GE)
        .withAttributeValueList(new AttributeValue().withN(myPoint.toString()))

Map keyConditions = new HashMap<>();
keyConditions.put("week", weekCondition);
keyConditions.put("point", myPointCondition);

QueryRequest request = new QueryRequest("game_table");
request.setIndexName("week-point-index");
request.setSelect(Select.COUNT);
request.setKeyConditions(keyConditions);

QueryResult result = dynamoDBClient.query(request);
Integer count = result.getCount();

Si no necesita emular el WHERE cláusula, puede utilizar una DescribeTable solicite y utilice el recuento de elementos resultante para obtener un presupuesto.

El número de elementos en la tabla especificada. DynamoDB actualiza este valor aproximadamente cada seis horas. Es posible que los cambios recientes no se reflejen en este valor.

Además, una nota importante de la documentación señalada por Saumitra R. Bhave en los comentarios sobre esta respuesta:

Si el tamaño de la Query el conjunto de resultados es más grande que 1 MB, ScannedCount y Count representan sólo un recuento parcial del total de elementos. Necesitas realizar múltiples Query operaciones para recuperar todos los resultados (consulte Paginación de los resultados de la consulta de tabla).

También se puede ver desde la interfaz de usuario. Vaya a la pestaña de descripción general en la tabla, verá el recuento de artículos. Espero que ayude a alguien.

Si te animas, puedes dejar una división acerca de qué le añadirías a esta reseña.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *