DynamoOps
Schema e infraestrutura

Gerenciador de índices (GSI)

Inspecione a chave primária e os índices secundários locais e globais de uma tabela, crie novos índices secundários globais com qualquer projeção e exclua os que você não usa mais.

Abrindo o gerenciador de índices

Clique em Indexes na barra de informações da tabela. O diálogo Indexes — <table> lista um card para cada índice.

O gerenciador de índices lista a chave primária e todos os índices secundários.
CardConteúdo
PRIMARYO schema de chaves da própria tabela. Sempre ACTIVE; não pode ser excluído.
LSIÍndices secundários locais com sua chave de ordenação e projeção. Somente leitura: LSIs só podem ser definidos na criação da tabela.
GSIÍndices secundários globais com status em tempo real (CREATING, ACTIVE, UPDATING, DELETING), chaves, projeção, capacidade ou On-demand, tamanho e quantidade de itens, além de um botão Delete.

Cada card detalha Keys (chaves de partição e de ordenação com seus tipos), Projection (ALL, KEYS_ONLY ou INCLUDE, com os chips de atributos) e Capacity / Size (capacidade e tamanho).

Criando um GSI

Clique em Add Global Secondary Index para abrir o formulário de criação.

Criando um GSI com projeção INCLUDE.
Index Nametextobrigatório
Por exemplo, email-index. Deve ser único dentro da tabela.
Partition Keytextobrigatório
O atributo a ser indexado, com seu tipo (S, N ou B).
Sort Keytext
Chave de intervalo (range key) opcional para o índice, com seu tipo.
Projectionradio
ALL copia todos os atributos; KEYS_ONLY copia apenas as chaves do índice e da tabela; INCLUDE copia as chaves mais os atributos que você listar, separados por vírgula.
  1. Preencha as chaves e a projeção

    A validação inline pede o nome, a chave de partição e, no caso de INCLUDE, pelo menos um atributo.

  2. Clique em Create GSI

    O DynamoOps envia um UpdateTable com uma ação Create. A notificação diz “GSI creation started — may take a few minutes.” (a criação pode levar alguns minutos) e a lista volta a ser exibida com o novo índice em CREATING.

  3. Verifique o status depois

    O status é lido quando o diálogo abre ou quando a tabela é recarregada; reabra o diálogo ou selecione a tabela novamente para vê-lo mudar para ACTIVE. O backfill de uma tabela grande pode demorar bastante.

Tabelas provisionadas
O formulário não coleta a capacidade provisionada. Em tabelas no modo de cobrança PROVISIONED, a AWS exige capacidade de leitura e escrita para cada GSI, então a criação falha com um erro de validação; nesse caso, crie o índice com capacidade pelo console ou via IaC. Em tabelas sob demanda, tudo funciona normalmente.

Excluindo um GSI

Clique em Delete no card de um índice ou no ✕ da tag do índice na barra de informações da tabela. Confirme no diálogo. A notificação “GSI deletion started.” aparece e o índice fica em DELETING até a AWS terminar.

  • Excluir um índice não afeta os dados da tabela, apenas a cópia do índice.
  • A AWS permite apenas uma criação ou exclusão de índice em andamento por tabela; aguarde a operação anterior terminar.
  • Consultas que usam o índice excluído vão falhar; confira o seletor de índice (Index) do formulário de Query nas abas abertas.

Escolhendo uma projeção

ProjeçãoCusto de armazenamento e escritaUse quando
ALLO mais alto — todos os atributos são duplicadosAs consultas no índice precisam de atributos arbitrários e você quer evitar uma segunda leitura.
KEYS_ONLYO mais baixoVocê só precisa encontrar as chaves e depois buscar os itens na tabela base.
INCLUDEIntermediárioUm pequeno conjunto conhecido de atributos atende ao padrão de acesso.

Relacionados