Anunciamos
Uso do cliente de documentos do DynamoDB
Este exemplo de código Node.js mostra:
Como acessar uma tabela do usando o cliente de documento.
O cenário
O cliente de documento do DynamoDB simplifica o trabalho com itens abstraindo a noção de valores de atributo. Essa abstração anota tipos JavaScript nativos fornecidos como parâmetros de entrada, bem como converte dados de resposta anotados em tipos JavaScript nativos.
Para obter mais informações sobre a classe de cliente de documento do DynamoDB, consulte AWS.DynamoDB.DocumentClient
na Referência de API. Para obter mais informações sobre programação com o Amazon DynamoDB, consulte Programação com o DynamoDB no Guia do Desenvovledor Amazon DynamoDB.
Neste exemplo, você usa uma série de módulos de Node.js para realizar operações básicas em uma tabela do DynamoDB usando o cliente de documento. O código usa o SDK para JavaScript para consultar e verificar tabelas usando esses métodos da classe de cliente de documento do DynamoDB:
Tarefas de pré-requisito
Para configurar e executar este exemplo, primeiro conclua estas tarefas:
Instale o Node.js. Para obter mais informações, consulte o website Node.js
. Crie um arquivo de configurações compartilhado com as credenciais de usuário. Para obter mais informações sobre como fornecer um arquivo de credenciais compartilhadas, consulte Carregar credenciais em Node.js do arquivo de credenciais compartilhado.
Crie uma tabela do DynamoDB cujos itens você possa acessar. Para obter mais informações sobre como criar uma tabela do DynamoDB usando o SDK para JavaScript, consulte Criação e uso de tabelas no DynamoDB. Também é possível usar o console do
para criar uma tabela.
Obtenção de um item de uma tabela
Crie um módulo do Node.js com o nome de arquivo ddbdoc_get.js
. Não se esqueça de configurar o SDK conforme mostrado anteriormente. Para acessar o DynamoDB, crie um objeto do AWS.DynamoDB.DocumentClient
. Crie um objeto JSON que contenha os parâmetros necessários para obter um item da tabela, que, neste exemplo, inclui o nome da tabela, o nome da chave hash nessa tabela e o valor da chave hash do item que você deseja receber. Chame o método get
do cliente de documento do DynamoDB.
// Load the AWS SDK for Node.js var AWS = require("aws-sdk"); // Set the region AWS.config.update({ region: "REGION" }); // Create DynamoDB document client var docClient = new AWS.DynamoDB.DocumentClient({ apiVersion: "2012-08-10" }); var params = { TableName: "EPISODES_TABLE", Key: { KEY_NAME: VALUE }, }; docClient.get(params, function (err, data) { if (err) { console.log("Error", err); } else { console.log("Success", data.Item); } });
Para executar o exemplo, digite o seguinte na linha de comando.
node ddbdoc_get.js
Este código de exemplo pode ser encontrado aqui no GitHub
Colocar um item em uma tabela
Crie um módulo do Node.js com o nome de arquivo ddbdoc_put.js
. Não se esqueça de configurar o SDK conforme mostrado anteriormente. Para acessar o DynamoDB, crie um objeto do AWS.DynamoDB.DocumentClient
. Crie um objeto JSON que contenha os parâmetros necessários para gravar um item na tabela, que, neste exemplo, inclui o nome da tabela e uma descrição do item a ser adicionado ou atualizado que inclua a chave hash e o valor, bem como nomes e valores de atributos a serem definidos no item. Chame o método put
do cliente de documento do DynamoDB.
// Load the AWS SDK for Node.js var AWS = require("aws-sdk"); // Set the region AWS.config.update({ region: "REGION" }); // Create DynamoDB document client var docClient = new AWS.DynamoDB.DocumentClient({ apiVersion: "2012-08-10" }); var params = { TableName: "TABLE", Item: { HASHKEY: VALUE, ATTRIBUTE_1: "STRING_VALUE", ATTRIBUTE_2: VALUE_2, }, }; docClient.put(params, function (err, data) { if (err) { console.log("Error", err); } else { console.log("Success", data); } });
Para executar o exemplo, digite o seguinte na linha de comando.
node ddbdoc_put.js
Este código de exemplo pode ser encontrado aqui no GitHub
Atualizar um item em uma tabela
Crie um módulo do Node.js com o nome de arquivo ddbdoc_update.js
. Não se esqueça de configurar o SDK conforme mostrado anteriormente. Para acessar o DynamoDB, crie um objeto do AWS.DynamoDB.DocumentClient
. Crie um objeto JSON que contenha os parâmetros necessários para gravar um item na tabela, que, neste exemplo, inclui o nome da tabela, a chave do item a ser atualizada, um conjunto de UpdateExpressions
que definem os atributos do item a ser atualizado com tokens com valores atribuídos nos parâmetros ExpressionAttributeValues
. Chame o método update
do cliente de documento do DynamoDB.
// Load the AWS SDK for Node.js var AWS = require("aws-sdk"); // Set the region AWS.config.update({ region: "REGION" }); // Create DynamoDB document client var docClient = new AWS.DynamoDB.DocumentClient({ apiVersion: "2012-08-10" }); // Create variables to hold numeric key values var season = SEASON_NUMBER; var episode = EPISODES_NUMBER; var params = { TableName: "EPISODES_TABLE", Key: { Season: season, Episode: episode, }, UpdateExpression: "set Title = :t, Subtitle = :s", ExpressionAttributeValues: { ":t": "NEW_TITLE", ":s": "NEW_SUBTITLE", }, }; docClient.update(params, function (err, data) { if (err) { console.log("Error", err); } else { console.log("Success", data); } });
Para executar o exemplo, digite o seguinte na linha de comando.
node ddbdoc_update.js
Este código de exemplo pode ser encontrado aqui no GitHub
Consultar uma tabela
Este exemplo consulta uma tabela que contém informações do episódio sobre uma série de vídeos, retornando os títulos e as legendas do episódio da segunda temporada anteriores ao episódio 9 que contenham uma frase especificada na legenda.
Crie um módulo do Node.js com o nome de arquivo ddbdoc_query.js
. Não se esqueça de configurar o SDK conforme mostrado anteriormente. Para acessar o DynamoDB, crie um objeto do AWS.DynamoDB.DocumentClient
. Crie um objeto JSON que contenha os parâmetros necessários para consultar a tabela, que, neste exemplo, inclui o nome da tabela, o ExpressionAttributeValues
necessário pela consulta e um KeyConditionExpression
que usa esses valores para definir quais itens a consulta retorna. Chame o método query
do cliente de documento do DynamoDB.
// Load the AWS SDK for Node.js var AWS = require("aws-sdk"); // Set the region AWS.config.update({ region: "REGION" }); // Create DynamoDB document client var docClient = new AWS.DynamoDB.DocumentClient({ apiVersion: "2012-08-10" }); var params = { ExpressionAttributeValues: { ":s": 2, ":e": 9, ":topic": "PHRASE", }, KeyConditionExpression: "Season = :s and Episode > :e", FilterExpression: "contains (Subtitle, :topic)", TableName: "EPISODES_TABLE", }; docClient.query(params, function (err, data) { if (err) { console.log("Error", err); } else { console.log("Success", data.Items); } });
Para executar o exemplo, digite o seguinte na linha de comando.
node ddbdoc_query.js
Este código de exemplo pode ser encontrado aqui no GitHub
Excluir um item de uma tabela
Crie um módulo do Node.js com o nome de arquivo ddbdoc_delete.js
. Não se esqueça de configurar o SDK conforme mostrado anteriormente. Para acessar o DynamoDB, crie um objeto do AWS.DynamoDB.DocumentClient
. Crie um objeto JSON que contenha os parâmetros necessários para excluir um item na tabela, que, neste exemplo, inclui o nome da tabela, bem como o nome e o valor da chave hash do item que você deseja excluir. Chame o método delete
do cliente de documento do DynamoDB.
// Load the AWS SDK for Node.js var AWS = require("aws-sdk"); // Set the region AWS.config.update({ region: "REGION" }); // Create DynamoDB document client var docClient = new AWS.DynamoDB.DocumentClient({ apiVersion: "2012-08-10" }); var params = { Key: { HASH_KEY: VALUE, }, TableName: "TABLE", }; docClient.delete(params, function (err, data) { if (err) { console.log("Error", err); } else { console.log("Success", data); } });
Para executar o exemplo, digite o seguinte na linha de comando.
node ddbdoc_delete.js
Este código de exemplo pode ser encontrado aqui no GitHub