Anunciamos
Consultar e verificar uma tabela do DynamoDB
Este exemplo de código Node.js mostra:
Como consultar e verificar uma tabela do DynamoDB em busca de itens.
O cenário
Consultar encontra itens em uma tabela ou um índice secundário usando apenas valores de atributo de chave primária. Você deve fornecer um nome da chave de partição e um valor a serem procurados. Você pode fornecer um nome da chave e um valor de classificação, além de usar um operador de comparação para refinar os resultados da pesquisa. Pesquisar encontra itens ao verificar todos os itens na tabela especificada.
Neste exemplo, você usa uma série de módulos Node.js para identificar um ou mais itens que queira recuperar de uma tabela do DynamoDB. O código usa o SDK para JavaScript para consultar e verificar tabelas usando esses métodos da classe de cliente 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, consulte Criação e uso de tabelas no DynamoDB.
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 ddb_query.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 consultar a tabela, que, neste exemplo, inclui o nome da tabela, o ExpressionAttributeValues
necessário pela consulta, um KeyConditionExpression
que usa esses valores para definir quais itens a consulta retorna, e os nomes dos valores de atributo a serem retornados para cada item. Chame o método query
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 = { ExpressionAttributeValues: { ":s": { N: "2" }, ":e": { N: "09" }, ":topic": { S: "PHRASE" }, }, KeyConditionExpression: "Season = :s and Episode > :e", ProjectionExpression: "Episode, Title, Subtitle", FilterExpression: "contains (Subtitle, :topic)", TableName: "EPISODES_TABLE", }; ddb.query(params, function (err, data) { if (err) { console.log("Error", err); } else { //console.log("Success", data.Items); data.Items.forEach(function (element, index, array) { console.log(element.Title.S + " (" + element.Subtitle.S + ")"); }); } });
Para executar o exemplo, digite o seguinte na linha de comando.
node ddb_query.js
Este código de exemplo pode ser encontrado aqui no GitHub
Verificação de uma tabela
Crie um módulo do Node.js com o nome de arquivo ddb_scan.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 verificar a tabela em busca de itens, que, neste exemplo, inclui o nome da tabela, a lista de valores de atributos a serem retornados para cada item correspondente e uma expressão para filtrar o conjunto de resultados a fim de encontrar itens que contenham uma frase especificada. Chame o método scan
do objeto de serviço do DynamoDB.
// Load the AWS SDK for Node.js. var AWS = require("aws-sdk"); // Set the AWS Region. AWS.config.update({ region: "REGION" }); // Create DynamoDB service object. var ddb = new AWS.DynamoDB({ apiVersion: "2012-08-10" }); const params = { // Specify which items in the results are returned. FilterExpression: "Subtitle = :topic AND Season = :s AND Episode = :e", // Define the expression attribute value, which are substitutes for the values you want to compare. ExpressionAttributeValues: { ":topic": { S: "SubTitle2" }, ":s": { N: 1 }, ":e": { N: 2 }, }, // Set the projection expression, which are the attributes that you want. ProjectionExpression: "Season, Episode, Title, Subtitle", TableName: "EPISODES_TABLE", }; ddb.scan(params, function (err, data) { if (err) { console.log("Error", err); } else { console.log("Success", data); data.Items.forEach(function (element, index, array) { console.log( "printing", element.Title.S + " (" + element.Subtitle.S + ")" ); }); } });
Para executar o exemplo, digite o seguinte na linha de comando.
node ddb_scan.js
Este código de exemplo pode ser encontrado aqui no GitHub