API do DynamoDB - Amazon DynamoDB

API do DynamoDB

Para trabalhar com o Amazon DynamoDB, a aplicação deve usar algumas operações de API simples. Veja a seguir um resumo dessas operações, organizadas por categoria.

nota

Para obter uma lista completa de operações de API, consulte a Referência de API do Amazon DynamoDB.

Ambiente de gerenciamento

As operações do ambiente de gerenciamento permitem criar e gerenciar tabelas do DynamoDB. Elas também permitem que você trabalhe com índices, fluxos e outros objetos que são dependentes de tabelas.

  • CreateTable: cria uma nova tabela. Opcionalmente, você pode criar um ou mais índices secundários e habilitar o DynamoDB Streams para a tabela.

  • DescribeTable: retorna informações sobre uma tabela, como seu esquema de chaves primárias, configurações de throughput e informações de índice.

  • ListTables: retorna os nomes de todas as suas tabelas em uma lista.

  • UpdateTable: modifica as configurações de uma tabela ou de seus índices, cria ou remove novos índices em uma tabela ou modifica as configurações do DynamoDB Streams para uma tabela.

  • DeleteTable: remove uma tabela e todos os seus objetos dependentes do DynamoDB.

Plano de dados

As operações do plano de dados permitem criar, ler, atualizar e excluir (também chamadas de CRUD) nos dados de uma tabela. Algumas das operações de plano de dados também permitem que você leia dados de um índice secundário.

Você pode usar o PartiQL: uma linguagem de consultas compatível com SQL para o Amazon DynamoDB para executar essas operações CRUD ou pode usar as APIs CRUD clássicas do DynamoDB que separam cada operação em uma chamada de API distinta.

PartiQL: uma linguagem de consultas compatível com SQL

  • ExecuteStatement: lê vários itens de uma tabela. Você também pode gravar ou atualizar um único item de uma tabela. Ao gravar ou atualizar um único item, é necessário especificar os atributos de chave primária.

  • BatchExecuteStatement: grava, atualiza ou lê vários itens de uma tabela. Isso é mais eficiente do que ExecuteStatement, pois sua aplicação precisa apenas de uma única viagem de ida e volta na rede para gravar ou ler os itens.

APIs clássicas

Criar dados

  • PutItem: grava um único item em uma tabela. Você deve especificar os atributos de chave primária, mas não precisa especificar outros atributos.

  • BatchWriteItem: grava até 25 itens em uma tabela. Isso é mais eficiente do que chamar PutItem várias vezes, pois seu aplicativo precisa apenas de uma única viagem de ida e volta na rede para gravar os itens.

Leitura de dados

  • GetItem: recupera um único item de uma tabela. É necessário especificar a chave primária do item desejado. É possível recuperar o item inteiro ou apenas um subconjunto dos seus atributos.

  • BatchGetItem: recupera até 100 itens de uma ou mais tabelas. Isso é mais eficiente do que chamar GetItem várias vezes, pois seu aplicativo precisa apenas de uma única viagem de ida e volta na rede para ler os itens.

  • Query: recupera todos os itens que têm uma chave de partição específica. Você deve especificar o valor da chave de partição. É possível recuperar itens inteiros, ou apenas um subconjunto dos seus atributos. Se desejar, é possível aplicar uma condição aos valores de chaves de classificação, para recuperar somente um subconjunto dos dados que têm a mesma chave de partição. Essa operação pode ser usada em uma tabela, desde que essa tabela tenha uma chave de partição e uma chave de classificação. Ela também pode ser usada em um índice, desde que esse índice tenha uma chave de partição e uma chave de classificação.

  • Scan: recupera todos os itens na tabela ou no índice especificado. É possível recuperar itens inteiros, ou apenas um subconjunto dos seus atributos. Opcionalmente, você pode aplicar uma condição de filtragem para retornar apenas os valores de interesse e descartar o restante.

Atualização de dados

  • UpdateItem: modifica um ou mais atributos em um item. É necessário especificar a chave primária do item que você deseja modificar. É possível adicionar novos atributos e modificar ou remover atributos existentes. Também é possível realizar atualizações condicionais, para que a atualização apenas seja bem-sucedida quando o uma condição definida pelo usuário for atendida. Opcionalmente, você pode implementar um contador atômico, que incrementa ou diminui um atributo numérico sem interferir em outras solicitações de gravação.

Excluir dados

  • DeleteItem: exclui um único item de uma tabela. É necessário especificar a chave primária do item que você deseja excluir.

  • BatchWriteItem: exclui até 25 itens de uma ou mais tabelas. Isso é mais eficiente do que chamar DeleteItem várias vezes, pois seu aplicativo precisa apenas de uma única viagem de ida e volta na rede para excluir os itens.

    nota

    Você pode usar BatchWriteItem para criar e excluir dados.

DynamoDB Streams

As operações do DynamoDB Streams permitem que você habilite ou desabilite um fluxo em uma tabela e permitem o acesso a registros de modificação de dados contidos em um fluxo.

  • ListStreams: retorna uma lista de todos os seus fluxos ou somente o fluxo para uma tabela específica.

  • DescribeStream: retorna informações sobre um fluxo, como seu nome do recurso da Amazon (ARN) e onde sua aplicação pode começar a ler os primeiro registros de fluxo.

  • GetShardIterator:retorna um iterador de fragmentos, uma estrutura de dados que sua aplicação usa para recuperar os registros de fluxo.

  • GetRecords: recupera um ou mais registros de fluxo, usando um determinado iterador de fragmentos.

Transações

Transações fornecem atomicidade, consistência, isolamento e durabilidade (ACID), permitindo que você mantenha a exatidão dos dados em suas aplicações com mais facilidade.

Você pode usar o PartiQL: uma linguagem de consultas compatível com SQL para o Amazon DynamoDB para executar operações transacionais ou pode usar as APIs CRUD clássicas do DynamoDB que separam cada operação em uma chamada de API distinta.

PartiQL: uma linguagem de consultas compatível com SQL

  • ExecuteTransaction: uma operação em lote que permite operações CRUD em vários itens dentro e entre tabelas com um resultado garantido de tudo ou nada.

APIs clássicas

  • TransactWriteItems: uma operação em lote que permite operações Put, Update e Delete em vários itens dentro e entre tabelas com um resultado garantido de tudo ou nada.

  • TransactGetItems: uma operação em lote que permite que operações Get recuperem vários itens de uma ou mais tabelas.