Folha de dicas para o DynamoDB - Amazon DynamoDB

Folha de dicas para o DynamoDB

Esta folha de dicas fornece uma referência rápida para trabalhar com o Amazon DynamoDB e seus vários AWS SDKs.

Configuração inicial

Consulte também:

SDK ou CLI

Escolha seu SDK preferido ou configure a AWS CLI.

nota

Quando você usa a AWS CLI no Windows, uma barra invertida (\) que não esteja dentro de uma cotação será tratada como um retorno de carro. Além disso, você deve escapar de todas as aspas e chaves dentro de outras aspas. Como exemplo, consulte a guia Windows em “Criar uma tabela” na próxima seção.

Consulte também:

Ações básicas

Esta seção fornece código para tarefas básicas do DynamoDB. Para obter mais informações sobre essas tarefas, consulte Conceitos básicos do DynamoDB e dos AWS SDKs.

Criar uma tabela

Default
aws dynamodb create-table \ --table-name Music \ --attribute-definitions \ AttributeName=Artist,AttributeType=S \ AttributeName=SongTitle,AttributeType=S \ --key-schema \ AttributeName=Artist,KeyType=HASH \ AttributeName=SongTitle,KeyType=RANGE \ --provisioned-throughput \ ReadCapacityUnits=10,WriteCapacityUnits=5
Windows
aws dynamodb create-table ^ --table-name Music ^ --attribute-definitions ^ AttributeName=Artist,AttributeType=S ^ AttributeName=SongTitle,AttributeType=S ^ --key-schema ^ AttributeName=Artist,KeyType=HASH ^ AttributeName=SongTitle,KeyType=RANGE ^ --provisioned-throughput ^ ReadCapacityUnits=10,WriteCapacityUnits=5

Gravar um item em uma tabela

aws dynamodb put-item \ --table-name Music \ --item file://item.json

Ler um item de uma tabela

aws dynamodb get-item \ --table-name Music \ --item file://item.json

Excluir um item de uma tabela

aws dynamodb delete-item --table-name Music --key file://key.json

Consultar uma tabela

aws dynamodb query --table-name Music --key-condition-expression "ArtistName=:Artist and SongName=:Songtitle"

Excluir uma tabela

aws dynamodb delete-table --table-name Music

Listar nomes de tabela

aws dynamodb list-tables

Regras de nomenclatura

  • Todos os nomes devem ser codificados usando UTF-8 e diferenciam maiúsculas de minúsculas.

  • Nomes de tabelas e nomes de índices devem ter entre 3 e 255 caracteres e podem conter somente os seguintes caracteres:

    • a-z

    • A-Z

    • 0-9

    • _ (sublinhado)

    • - (traço)

    • . (ponto)

  • Os nomes de atributos devem ter pelo menos um caractere e no mínimo 64 KB.

Para obter mais informações, consulte Regras de nomenclatura.

Noções básicas de cota de serviço

Unidades de leitura e gravação

  • Unidade de capacidade de leitura (RCU): uma leitura altamente consistente por segundo, ou duas leituras finais consistentes por segundo, para itens até 4 KB de tamanho.

  • Unidade de capacidade de gravação (WCU): uma gravação por segundo para itens de até 1 KB de tamanho.

Limites da tabela

  • Tamanho da tabela: não há limite prático para o tamanho de uma tabela. As tabelas não são limitadas em termos de número de itens ou de bytes.

  • Número de tabelas: para qualquer conta da AWS, há uma cota inicial de 2,5 mil tabelas por região da AWS.

  • Limite de tamanho de página para consulta e verificação: há um limite de 1 MB por página, por consulta ou verificação. Se os seus parâmetros de consulta ou operação de verificação em uma tabela resultarem em mais de 1 MB de dados, o DynamoDB retornará os itens correspondentes iniciais. Ele também retorna uma propriedade LastEvaluatedKey que pode ser usada em uma nova solicitação para ler a próxima página.

Índices

  • Índices secundários locais (LSIs): é possível definir um máximo de cinco índices secundários locais. Os LSIs são úteis principalmente quando um índice deve ter uma consistência alta com a tabela-base.

  • Índices secundários globais (GSIs): há uma cota padrão de 20 índices secundários globais por tabela.

  • Atributos de índices secundários projetados por tabela: é possível projetar um total de até 100 atributos em todos os índices secundários locais e globais de uma tabela. Isso se aplica somente a atributos projetados especificados pelo usuário.

Chaves de partição

  • O tamanho mínimo de um valor de chave de partição é 1 byte. O comprimento máximo é de 2048 bytes.

  • Não há um limite prático para o número de valores de chave de partição distintos, para tabelas ou para índices secundários.

  • O tamanho mínimo de um valor de chave de classificação é 1 byte. O comprimento máximo é de 1024 bytes.

  • Em geral, não há limite prático para o número de valores de chave de classificação distintos por valor de chave de partição. Há exceção para tabelas com índices secundários.

Para obter mais informações sobre índices secundários, design de chave de partição e design de chave de classificação, consulte Práticas recomendadas.

Limites para tipos de dados comumente usados

  • String: o tamanho de uma string é restrito pelo tamanho de item máximo de 400 KB. Strings são Unicode com codificação binária UTF-8.

  • Número: um número pode ter até 38 dígitos de precisão, e pode ser positivo, negativo ou zero.

  • Binário: o tamanho de um binário é restrito pelo tamanho de item máximo de 400 KB. As aplicações que funcionam com atributos binários devem codificar os dados em formato base64 antes de enviá-los para o DynamoDB.

Para obter uma lista dos tipos de dados compatíveis, consulte Tipos de dados. Para obter mais informações, consulte Service quotas.

Itens, atributos e parâmetros de expressão

O tamanho de item máximo no DynamoDB é 400 KB, o que inclui o tamanho binário do nome do atributo (tamanho UTF-8) e os tamanhos binários do valor dos atributo (tamanho UTF-8). O nome do atributo conta para o limite de tamanho.

Não há limite para o número de valores em uma lista, um mapa ou um conjunto, desde que o item que contenha os valores permaneça no limite de tamanho de item de 400 KB.

Para os parâmetros de expressão, o tamanho máximo de qualquer string de expressão é 4 KB.

Para obter mais informações sobre tamanho do item, atributos e parâmetros de expressão, consulte Service quotas.

Mais informações