O DynamoDB é um banco de dados NoSQL totalmente gerenciado: rápido, escala sozinho e você nunca cuida de servidor. Diferente do SQL, ele não tem colunas fixas — cada item pode ter seus próprios atributos. Em troca dessa velocidade, você modela os dados pensando em COMO vai buscá-los.
Guardar dados que precisam ser lidos e escritos muito rápido, em qualquer escala: sessões de usuário, carrinho de compras, catálogo de produtos, placar de um jogo, dados de dispositivos IoT. Quando o tráfego explode, ele aguenta sem você mexer em nada.
Cada um deles roda de verdade no terminal do CLImb, com a mesma saída e as mesmas mensagens de erro que a AWS devolve.
aws dynamodb list-tablesaws dynamodb list-tables
aws dynamodb list-tables
aws dynamodb create-tableaws dynamodb create-table
aws dynamodb create-table --table-name <nome> --attribute-definitions AttributeName=<attr>,AttributeType=<S|N|B> --key-schema AttributeName=<attr>,KeyType=HASH --billing-mode PAY_PER_REQUEST
aws dynamodb describe-tableaws dynamodb describe-table
aws dynamodb describe-table --table-name <nome>
aws dynamodb put-itemaws dynamodb put-item
aws dynamodb put-item --table-name <nome> --item '<json>'
aws dynamodb get-itemaws dynamodb get-item
aws dynamodb get-item --table-name <nome> --key '<json>'
aws dynamodb scanaws dynamodb scan
aws dynamodb scan --table-name <nome>
aws dynamodb queryaws dynamodb query
aws dynamodb query --table-name PedidosCliente \
--key-condition-expression "cliente = :c" \
--expression-attribute-values '{":c":{"S":"ana"}}'
aws dynamodb update-itemaws dynamodb update-item
aws dynamodb update-item --table-name PedidosCliente \
--key '{"cliente":{"S":"ana"},"data":{"S":"2026-07-01"}}' \
--update-expression "SET valor = :v" \
--expression-attribute-values '{":v":{"N":"199"}}'
aws dynamodb delete-itemaws dynamodb delete-item
aws dynamodb delete-item --table-name PedidosCliente \
--key '{"cliente":{"S":"ana"},"data":{"S":"2026-07-15"}}'
Cada atividade é um pedido de trabalho, do jeito que ele chega no dia a dia — você resolve digitando os comandos, não escolhendo alternativa.
Comece listando as tabelas do DynamoDB.
Veja todas as tabelas da conta.
Crie a tabela clientes com chave primária id (tipo string), no modo de cobrança por requisição. É o comando mais longo até agora — o manual é seu amigo.
A loja precisa guardar os produtos. Crie a tabela Catalogo com chave de partição sku (texto).
Pra manter quem está logado, crie a tabela Sessoes com chave token (texto).
Crie a tabela Estoque (chave sku) e veja os detalhes dela.
Insira na tabela clientes um item com id "1" e nome "Ana".
Crie a tabela Itens (chave id) e grave o primeiro item nela.
Busque o item de id "1" na tabela clientes usando get-item.
Liste todos os itens da tabela clientes com um scan.
Crie a tabela Clientes (chave cpf), grave um item e busque ele pela chave.
Crie a tabela Pedidos, grave um item e faça um scan pra ver tudo.
Pra guardar vários pedidos do mesmo cliente a chave precisa de duas partes: a de partição (cliente) e a de ordenação (data). Crie a tabela PedidosCliente assim.
Grave dois pedidos da cliente ana, em datas diferentes (2026-07-01 e 2026-07-15). Com chave composta os dois convivem — não se sobrescrevem.
O scan lê a tabela inteira; o query vai direto na partição. Traga todos os pedidos da ana usando query. <small>(a condição usa um apelido :c, cujo valor vai em outro parâmetro)</small>
A chave de ordenação permite recortar um intervalo sem ler o resto. Traga só os pedidos da ana com data maior que 2026-07-10.
O put-item substitui o item inteiro (e apaga o que você não mandou). O update-item mexe só no que você pedir. Mude o valor do pedido da ana de 2026-07-01 para 199.
Apague o pedido da ana de 2026-07-15. <small>(com chave composta, a chave do delete também precisa das duas partes)</small>
Ler explica. Digitar fixa. No CLImb você roda os comandos de verdade num terminal AWS simulado — o estado persiste entre eles, como na nuvem real.
As 3 primeiras atividades desta trilha são abertas; o resto faz parte do plano Pro.
Começar — 3 atividades grátis