DynamoOps
Consultas

Scan com filtros

Leia uma tabela página por página e refine os resultados com expressões de filtro, nomes e valores de atributos do DynamoDB, direto no painel Filters.

O painel Filters

Clique em ⚙ Filters na barra de ferramentas para exibir o painel de consulta. Um seletor de modo no topo oferece Scan, Query e SQL. Scan é o modo padrão quando uma tabela é aberta, e o estado de abertura do painel e os valores dos campos ficam salvos por aba. Execute o modo atual com ▶ Execute ou ⌘+↵.

Page Sizenumber
Itens solicitados por página, enviados como o Limit do DynamoDB. Padrão 50, intervalo permitido de 1 a 1000. Compartilhado por Scan, Query e SQL.
Filter Expressiontext
Uma expressão de filtro do DynamoDB, como attribute_exists(email) AND #status = :active. Aplicada apenas quando não está vazia.
Expression Attribute NamesJSON
Placeholders para nomes de atributos que conflitam com palavras reservadas ou contêm caracteres especiais, por exemplo {"#status": "status"}.
Expression Attribute ValuesJSON
Valores referenciados na expressão, por exemplo {":active": "active"}. Os tipos seguem o JSON que você digita: strings, números, booleanos, null, listas e mapas.

Executando um scan

Modo Scan com uma expressão de filtro e seus nomes e valores de atributos.
  1. Escreva a expressão

    Use a sintaxe nativa do DynamoDB. Todos os operadores de comparação, AND, OR, NOT e as funções padrão estão disponíveis.

  2. Mapeie nomes e valores

    Todo placeholder #name precisa constar no mapa de nomes; todo placeholder :value, no mapa de valores.

  3. Execute

    O DynamoOps faz o scan de uma página, aplica o filtro no lado do servidor e informa o resultado na barra de resultados.

Expressões de filtro comuns
#status = :active AND createdAt > :since
begins_with(#sk, :prefix)
contains(tags, :tag)
attribute_not_exists(deletedAt)
size(items) >= :min
attribute_type(score, :numType)
Um filtro não reduz o que você paga
O DynamoDB lê todos os itens da página e só depois aplica o filtro, então uma página filtrada pode retornar bem menos itens do que o Page Size e ainda assim consumir toda a capacidade de leitura. A barra de resultados mostra os dois números: “50 items (120 scanned)” (50 itens, 120 avaliados). Para padrões de acesso seletivos, prefira uma Query por chave ou índice.

Lendo a barra de resultados

Após cada execução, a barra abaixo da grade resume a página.

Page 1 · 50 items (120 scanned) · ⚡ 12.5 RCU · 💰 $0.001625 · ⏱ 143ms
SegmentoSignificado
Page NA página em que você está. Os controles de paginação aparecem quando existem mais páginas.
itemsItens retornados nesta página após a filtragem.
scannedItens que o DynamoDB avaliou antes do filtro. Exibido apenas para Scan e Query.
RCU e custoCapacidade que o DynamoDB informou como consumida e seu custo estimado. Oculto quando o endpoint não informa nenhuma.
msTempo de ida e volta da requisição.

Validação e erros

  • JSON inválido em qualquer um dos mapas gera o aviso “Invalid JSON in Expression Attribute Names” ou “… Values”. O scan ainda é executado sem esse mapa, e o DynamoDB normalmente rejeitará a expressão com um erro de validação.
  • Erros do servidor são exibidos como “Query error: <AWS message>”, por exemplo quando falta um placeholder ou quando uma palavra reservada é usada sem um placeholder de nome.
  • O modo Scan não usa índices secundários; mude para o modo Query para consultar um índice.

Relacionados