DynamoOps
Consultas

Scan con filtros

Lee una tabla página por página y acota los resultados con expresiones de filtro de DynamoDB, nombres y valores de atributos, directamente desde el panel Filters.

El panel Filters

Haz clic en ⚙ Filters en la barra de herramientas para mostrar el panel de consultas. Un selector de modo en la parte superior ofrece Scan, Query y SQL. Scan es el modo predeterminado al abrir una tabla, y el estado del panel (abierto o cerrado) y los valores de sus campos se recuerdan por pestaña. Ejecuta el modo actual con ▶ Execute o ⌘+↵.

Page Sizenumber
Ítems solicitados por página, enviados como el parámetro Limit de DynamoDB. Valor predeterminado 50, rango permitido de 1 a 1000. Compartido por Scan, Query y SQL.
Filter Expressiontext
Una expresión de filtro de DynamoDB, como attribute_exists(email) AND #status = :active. Solo se aplica cuando no está vacía.
Expression Attribute NamesJSON
Marcadores para nombres de atributos que coinciden con palabras reservadas o contienen caracteres especiales, por ejemplo {"#status": "status"}.
Expression Attribute ValuesJSON
Valores referenciados en la expresión, por ejemplo {":active": "active"}. Los tipos siguen el JSON que escribas: cadenas, números, booleanos, null, listas y mapas.

Ejecutar un scan

Modo Scan con una expresión de filtro y sus nombres y valores de atributos.
  1. Escribe la expresión

    Usa la sintaxis nativa de DynamoDB. Están disponibles todos los operadores de comparación, AND, OR, NOT y las funciones estándar.

  2. Asigna nombres y valores

    Todo marcador #name debe aparecer en el mapa de nombres, y todo marcador :value, en el mapa de valores.

  3. Ejecuta

    DynamoOps escanea una página, aplica el filtro del lado del servidor e informa el resultado en la barra de resultados.

Expresiones de filtro comunes
#status = :active AND createdAt > :since
begins_with(#sk, :prefix)
contains(tags, :tag)
attribute_not_exists(deletedAt)
size(items) >= :min
attribute_type(score, :numType)
Un filtro no reduce lo que pagas
DynamoDB lee cada ítem de la página y luego aplica el filtro, así que una página filtrada puede devolver muchos menos ítems que Page Size y aun así consumir toda la capacidad de lectura. La barra de resultados muestra ambos números: “50 items (120 scanned)” (50 ítems devueltos, 120 escaneados). Para patrones de acceso selectivos, prefiere una Query por clave o índice.

Cómo leer la barra de resultados

Después de cada ejecución, la barra debajo de la cuadrícula resume la página.

Page 1 · 50 items (120 scanned) · ⚡ 12.5 RCU · 💰 $0.001625 · ⏱ 143ms
SegmentoSignificado
Page NLa página en la que estás. Los controles de paginación aparecen cuando hay más páginas.
itemsÍtems devueltos en esta página después del filtrado.
scannedÍtems que DynamoDB evaluó antes del filtro. Solo se muestra en Scan y Query.
RCU y costoCapacidad que DynamoDB informó como consumida y su costo estimado. Se oculta cuando el endpoint no informa ninguna.
msTiempo de ida y vuelta de la solicitud.

Validación y errores

  • Un JSON inválido en cualquiera de los dos mapas genera el aviso “Invalid JSON in Expression Attribute Names” o “… Values”. El scan se ejecuta de todos modos sin ese mapa, y DynamoDB normalmente rechazará la expresión con un error de validación.
  • Los errores del servidor se muestran como “Query error: <AWS message>” (el mensaje de AWS), por ejemplo cuando falta un marcador o se usa una palabra reservada sin un marcador de nombre.
  • El modo Scan no usa índices secundarios; cambia al modo Query para consultar un índice.

Relacionados