Ler e gravar itens em lote no DynamoDB - AWS SDK for JavaScript

Anunciamos o próximo fim do suporte para o AWS SDK for JavaScript v2. Recomendamos migrar para o AWS SDK for JavaScript v3. Para saber as datas e receber detalhes adicionais e informações sobre como migrar, consulte o anúncio vinculado.

Ler e gravar itens em lote no DynamoDB

JavaScript code example that applies to Node.js execution

Este exemplo de código Node.js mostra:

  • Como ler e gravar lotes de itens em uma tabela do DynamoDB.

O cenário

Neste exemplo, você usa uma série de módulos de Node.js para colocar um lote de itens em uma tabela do DynamoDB, bem como ler um lote de itens. O código usa o SDK para JavaScript para realizar operações de leitura e gravação em lote usando esses métodos da classe de cliente DynamoDB:

Tarefas de pré-requisito

Para configurar e executar este exemplo, primeiro conclua estas tarefas:

Ler itens em lote

Crie um módulo do Node.js com o nome de arquivo ddb_batchgetitem.js. Não se esqueça de configurar o SDK conforme mostrado anteriormente. Para acessar o DynamoDB, crie um objeto de serviço do AWS.DynamoDB. Crie um objeto JSON que contenha os parâmetros necessários para obter um lote de itens, que, neste exemplo, inclui o nome de uma ou mais tabelas para leitura, os valores de chaves para leitura em cada tabela, e a expressão de projeção que especifica os atributos a serem retornados. Chame o método batchGetItem do objeto de serviço do DynamoDB.

// Load the AWS SDK for Node.js var AWS = require("aws-sdk"); // Set the region AWS.config.update({ region: "REGION" }); // Create DynamoDB service object var ddb = new AWS.DynamoDB({ apiVersion: "2012-08-10" }); var params = { RequestItems: { TABLE_NAME: { Keys: [ { KEY_NAME: { N: "KEY_VALUE_1" } }, { KEY_NAME: { N: "KEY_VALUE_2" } }, { KEY_NAME: { N: "KEY_VALUE_3" } }, ], ProjectionExpression: "KEY_NAME, ATTRIBUTE", }, }, }; ddb.batchGetItem(params, function (err, data) { if (err) { console.log("Error", err); } else { data.Responses.TABLE_NAME.forEach(function (element, index, array) { console.log(element); }); } });

Para executar o exemplo, digite o seguinte na linha de comando.

node ddb_batchgetitem.js

Este código de exemplo pode ser encontrado aqui no GitHub.

Gravar itens em lote

Crie um módulo do Node.js com o nome de arquivo ddb_batchwriteitem.js. Não se esqueça de configurar o SDK conforme mostrado anteriormente. Para acessar o DynamoDB, crie um objeto de serviço do AWS.DynamoDB. Crie um objeto JSON que contenha os parâmetros necessários para obter um lote de itens, que, neste exemplo, inclui a tabela na qual você deseja gravar itens, a(s) chave(s) que você deseja gravar para cada item, e os atributos com os valores. Chame o método batchWriteItem do objeto de serviço do DynamoDB.

// Load the AWS SDK for Node.js var AWS = require("aws-sdk"); // Set the region AWS.config.update({ region: "REGION" }); // Create DynamoDB service object var ddb = new AWS.DynamoDB({ apiVersion: "2012-08-10" }); var params = { RequestItems: { TABLE_NAME: [ { PutRequest: { Item: { KEY: { N: "KEY_VALUE" }, ATTRIBUTE_1: { S: "ATTRIBUTE_1_VALUE" }, ATTRIBUTE_2: { N: "ATTRIBUTE_2_VALUE" }, }, }, }, { PutRequest: { Item: { KEY: { N: "KEY_VALUE" }, ATTRIBUTE_1: { S: "ATTRIBUTE_1_VALUE" }, ATTRIBUTE_2: { N: "ATTRIBUTE_2_VALUE" }, }, }, }, ], }, }; ddb.batchWriteItem(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 ddb_batchwriteitem.js

Este código de exemplo pode ser encontrado aqui no GitHub.