Selecione suas preferências de cookies

Usamos cookies essenciais e ferramentas semelhantes que são necessárias para fornecer nosso site e serviços. Usamos cookies de desempenho para coletar estatísticas anônimas, para que possamos entender como os clientes usam nosso site e fazer as devidas melhorias. Cookies essenciais não podem ser desativados, mas você pode clicar em “Personalizar” ou “Recusar” para recusar cookies de desempenho.

Se você concordar, a AWS e terceiros aprovados também usarão cookies para fornecer recursos úteis do site, lembrar suas preferências e exibir conteúdo relevante, incluindo publicidade relevante. Para aceitar ou recusar todos os cookies não essenciais, clique em “Aceitar” ou “Recusar”. Para fazer escolhas mais detalhadas, clique em “Personalizar”.

Trabalhar com índices secundários globais no DynamoDB usando a AWS CLI

Modo de foco
Trabalhar com índices secundários globais no DynamoDB usando a AWS CLI - Amazon DynamoDB

Você pode usar a AWS CLI para criar uma tabela do Amazon DynamoDB com um ou mais índices secundários globais na tabela e executar consultas usando os índices.

Criar uma tabela com um índice secundário global

Você pode criar índices secundários globais ao mesmo tempo que cria uma tabela. Para fazer isso, use o parâmetro create-table e forneça suas especificações para um ou mais índices secundários globais. O exemplo a seguir cria uma tabela chamada GameScores com um índice secundário global chamado GameTitleIndex. A tabela-base tem uma chave de partição UserId e uma chave de classificação GameTitle, permitindo que você encontre a melhor pontuação de um usuário individual para um jogo específico de forma eficiente, enquanto o GSI tem uma chave de partição GameTitle e uma chave de classificação TopScore, permitindo que você encontre rapidamente a pontuação mais alta geral para um jogo específico.

aws dynamodb create-table \ --table-name GameScores \ --attribute-definitions AttributeName=UserId,AttributeType=S \ AttributeName=GameTitle,AttributeType=S \ AttributeName=TopScore,AttributeType=N \ --key-schema AttributeName=UserId,KeyType=HASH \ AttributeName=GameTitle,KeyType=RANGE \ --provisioned-throughput ReadCapacityUnits=10,WriteCapacityUnits=5 \ --global-secondary-indexes \ "[ { \"IndexName\": \"GameTitleIndex\", \"KeySchema\": [{\"AttributeName\":\"GameTitle\",\"KeyType\":\"HASH\"}, {\"AttributeName\":\"TopScore\",\"KeyType\":\"RANGE\"}], \"Projection\":{ \"ProjectionType\":\"INCLUDE\", \"NonKeyAttributes\":[\"UserId\"] }, \"ProvisionedThroughput\": { \"ReadCapacityUnits\": 10, \"WriteCapacityUnits\": 5 } } ]"

Você deve aguardar até que o DynamoDB crie a tabela e defina o status dessa tabela como ACTIVE. Depois disso, você poderá começar a inserir itens de dados na tabela. Você pode usar describe-table para determinar o status da criação da tabela.

Adicionar um índice secundário global a uma tabela existente

Os índices secundários globais também podem ser adicionados ou modificados após a criação da tabela. Para fazer isso, use o parâmetro update-table e forneça suas especificações para um ou mais índices secundários globais. O exemplo a seguir usa o mesmo esquema do exemplo anterior, mas pressupõe que a tabela já foi criada e que adicionaremos o GSI mais tarde.

aws dynamodb update-table \ --table-name GameScores \ --attribute-definitions AttributeName=TopScore,AttributeType=N \ --global-secondary-index-updates \ "[ { \"Create\": { \"IndexName\": \"GameTitleIndex\", \"KeySchema\": [{\"AttributeName\":\"GameTitle\",\"KeyType\":\"HASH\"}, {\"AttributeName\":\"TopScore\",\"KeyType\":\"RANGE\"}], \"Projection\":{ \"ProjectionType\":\"INCLUDE\", \"NonKeyAttributes\":[\"UserId\"] } } } ]"

Descrever uma tabela com um índice secundário global

Para obter mais informações sobre índices secundários globais em uma tabela, use o parâmetro describe-table. Para cada índice, você pode acessar seu nome, esquema de chaves e atributos projetados.

aws dynamodb describe-table --table-name GameScores

Consultar um índice secundário global

Você pode usar a operação query em um índice secundário global de forma semelhante ao uso de query em uma tabela. Você deve especificar o nome do índice, os critérios de consulta da chave de classificação do índice e os atributos que deseja retornar. Neste exemplo, o índice é GameTitleIndex e a chave de classificação do índice é GameTitle.

Os únicos atributos retornados são aqueles que foram projetados no índice. É possível modificar essa consulta para selecionar atributos não chave também, mas isso exigiria atividades de busca de tabela que são relativamente caras. Para obter mais informações sobre buscas de tabela, consulte Projeções de atributo.

aws dynamodb query --table-name GameScores\ --index-name GameTitleIndex \ --key-condition-expression "GameTitle = :v_game" \ --expression-attribute-values '{":v_game":{"S":"Alien Adventure"} }'
PrivacidadeTermos do sitePreferências de cookies
© 2025, Amazon Web Services, Inc. ou suas afiliadas. Todos os direitos reservados.