Gravar dados em uma tabela - Amazon DynamoDB

Gravar dados em uma tabela

As tabelas de bancos de dados relacionais contêm linhas de dados. As linhas são compostas de colunas. As tabelas do Amazon DynamoDB contêm itens. Os itens são compostos de atributos.

Esta seção descreve como gravar uma linha (ou item) em uma tabela.

Gravar dados em uma tabela com o SQL

A tabela em um banco de dados relacional é uma estrutura de dados bidimensional composta por linhas e colunas. Alguns sistemas de gerenciamento de banco de dados também fornecem suporte para dados semiestruturados, geralmente com tipos de dados nativos JSON ou XML. No entanto, os detalhes de implementação variam entre fornecedores.

No SQL, você usa a instrução INSERT para adicionar uma linha a uma tabela.

INSERT INTO Music (Artist, SongTitle, AlbumTitle, Year, Price, Genre, Tags) VALUES( 'No One You Know', 'Call Me Today', 'Somewhat Famous', 2015, 2.14, 'Country', '{"Composers": ["Smith", "Jones", "Davis"],"LengthInSeconds": 214}' );

A chave primária dessa tabela consiste em Artist e SongTitle. Você deve especificar valores para essas colunas.

nota

Este exemplo usa a coluna Tags para armazenar dados semiestruturados sobre as músicas na tabela Music. A coluna Tags está definida como tipo TEXT, que pode armazenar até 65.535 caracteres em MySQL.

Gravar dados em uma tabela no DynamoDB

No Amazon DynamoDB, é possível usar a API do DynamoDB ou do PartiQL (uma linguagem de consultas compatível com SQL) para adicionar um item a uma tabela.

DynamoDB API

Com a API do DynamoDB, você usa a operação PutItem para adicionar um item a uma tabela.

{ TableName: "Music", Item: { "Artist":"No One You Know", "SongTitle":"Call Me Today", "AlbumTitle":"Somewhat Famous", "Year": 2015, "Price": 2.14, "Genre": "Country", "Tags": { "Composers": [ "Smith", "Jones", "Davis" ], "LengthInSeconds": 214 } } }

A chave primária dessa tabela consiste em Artist e SongTitle. Você deve especificar valores para esses atributos.

Aqui estão algumas coisas importantes para saber sobre este exemplo de PutItem:

  • O DynamoDB oferece suporte nativo a documentos usando JSON. Isso torna o DynamoDB ideal para armazenar dados semiestruturados, como Tags. Você também pode recuperar e manipular dados de dentro de documentos JSON.

  • A tabela Music não tem atributos predefinidos, além da chave primária (Artist e SongTitle).

  • A maioria dos bancos de dados SQL são orientados a transação. Quando você emite uma instrução INSERT, as modificações de dados não são permanentes até que você execute uma instrução COMMIT. Com o Amazon DynamoDB, os efeitos de uma operação PutItem são permanentes quando o DynamoDB responde com um código de status HTTP 200 (OK).

nota

Para obter exemplos de códigos que usam PutItem, consulte Conceitos básicos do DynamoDB e dos SDKs da AWS.

A seguir há alguns outros exemplos de PutItem.

{ TableName: "Music", Item: { "Artist": "No One You Know", "SongTitle": "My Dog Spot", "AlbumTitle":"Hey Now", "Price": 1.98, "Genre": "Country", "CriticRating": 8.4 } }
{ TableName: "Music", Item: { "Artist": "No One You Know", "SongTitle": "Somewhere Down The Road", "AlbumTitle":"Somewhat Famous", "Genre": "Country", "CriticRating": 8.4, "Year": 1984 } }
{ TableName: "Music", Item: { "Artist": "The Acme Band", "SongTitle": "Still In Love", "AlbumTitle":"The Buck Starts Here", "Price": 2.47, "Genre": "Rock", "PromotionInfo": { "RadioStationsPlaying":[ "KHCR", "KBQX", "WTNR", "WJJH" ], "TourDates": { "Seattle": "20150625", "Cleveland": "20150630" }, "Rotation": "Heavy" } } }
{ TableName: "Music", Item: { "Artist": "The Acme Band", "SongTitle": "Look Out, World", "AlbumTitle":"The Buck Starts Here", "Price": 0.99, "Genre": "Rock" } }
nota

Além de PutItem, o DynamoDB comporta uma operação BatchWriteItem para gravar vários itens ao mesmo tempo.

PartiQL for DynamoDB

Com PartiQL, você usa a operação ExecuteStatement para adicionar um item a uma tabela, usando a instrução Insert PartiQL.

INSERT into Music value { 'Artist': 'No One You Know', 'SongTitle': 'Call Me Today', 'AlbumTitle': 'Somewhat Famous', 'Year' : '2015', 'Genre' : 'Acme' }

A chave primária dessa tabela consiste em Artist e SongTitle. Você deve especificar valores para esses atributos.

nota

Para obter exemplos de código que usam Insert e ExecuteStatement, consulte Instruções Insert em PartiQL para DynamoDB.