Criação e uso de tabelas no DynamoDB - AWS SDK for JavaScript

O Guia de referência da API do AWS SDK for JavaScript V3 descreve em detalhes todas as operações da API para o AWS SDK for JavaScript versão 3 (V3).

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Criação e uso de tabelas no DynamoDB

JavaScript code example that applies to Node.js execution

Este exemplo de código Node.js mostra:

  • Como criar e gerenciar tabelas usadas para armazenar e recuperar dados do DynamoDB.

O cenário

De forma semelhante a outros sistemas de banco de dados, o DynamoDB armazena dados em tabelas. Uma tabela do DynamoDB é uma coleção de dados organizada em itens semelhantes às linhas. Para armazenar ou acessar dados no DynamoDB, você cria e trabalha com tabelas.

Neste exemplo, você usa uma série de módulos de Node.js para realizar operações básicas com uma tabela do DynamoDB. O código usa o SDK para JavaScript para criar e trabalhar com tabelas usando esses métodos da classe de cliente DynamoDB:

Tarefas de pré-requisito

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

  • Configure o ambiente do projeto para executar estes exemplos do Node.js e instale os módulos do AWS SDK for JavaScript e de terceiros necessários. Siga as instruções no GitHub.

  • Instale o cliente DynamoDB do SDK para JavaScript. Para obter mais informações, consulte Novidades da versão 3.

  • 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 compartilhado, consulte Arquivos de configuração e credenciais compartilhados no Guia de referência de ferramentas e SDKs da AWS.

Importante

Esses exemplos usam ECMAScript6 (ES6). Isso requer o Node.js versão 13.x ou superior. Para baixar e instalar a versão mais recente do Node.js, consulte Downloads do Node.js.

No entanto, se você preferir usar a sintaxe CommonJS, consulte Sintaxe ES6/CommonJS de JavaScript.

nota

Para obter informações sobre os tipos de dados usados nesses exemplos, consulte Tipos de dados e regras de nomenclatura compatíveis no Amazon DynamoDB.

Criar uma tabela

Crie um módulo do Node.js com o nome de arquivo create-table.js. Certifique-se de configurar o SDK conforme mostrado anteriormente, incluindo o download dos clientes e pacotes necessários. Para acessar o DynamoDB, crie um objeto de serviço do cliente DynamoDB. Crie um objeto JSON que contenha os parâmetros necessários para criar uma tabela, que, neste exemplo, inclui o nome e o tipo de dados de cada atributo, o esquema de chave, o nome da tabela e as unidades de taxa de transferência para provisionar. Chame o método CreateTableCommand do objeto de serviço do DynamoDB.

import { CreateTableCommand, DynamoDBClient } from "@aws-sdk/client-dynamodb"; const client = new DynamoDBClient({}); export const main = async () => { const command = new CreateTableCommand({ TableName: "EspressoDrinks", // For more information about data types, // see https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.NamingRulesDataTypes.html#HowItWorks.DataTypes and // https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.LowLevelAPI.html#Programming.LowLevelAPI.DataTypeDescriptors AttributeDefinitions: [ { AttributeName: "DrinkName", AttributeType: "S", }, ], KeySchema: [ { AttributeName: "DrinkName", KeyType: "HASH", }, ], ProvisionedThroughput: { ReadCapacityUnits: 1, WriteCapacityUnits: 1, }, }); const response = await client.send(command); console.log(response); return response; };

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

node create-table.js

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

Listar as tabelas

Crie um módulo do Node.js com o nome de arquivo list-tables.js. Certifique-se de configurar o SDK conforme mostrado anteriormente, incluindo o download dos clientes e pacotes necessários. Para acessar o DynamoDB, crie um objeto de serviço do cliente DynamoDB. Crie um objeto JSON que contém os parâmetros necessários para listar as tabelas, que, neste exemplo, limita o número de tabelas listadas a 10. Chame o método ListTablesCommand do objeto de serviço do DynamoDB.

import { ListTablesCommand, DynamoDBClient } from "@aws-sdk/client-dynamodb"; const client = new DynamoDBClient({}); export const main = async () => { const command = new ListTablesCommand({}); const response = await client.send(command); console.log(response); return response; };

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

node list-tables.js

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

Descrever uma tabela

Crie um módulo do Node.js com o nome de arquivo describe-table.js. Certifique-se de configurar o SDK conforme mostrado anteriormente, incluindo o download dos clientes e pacotes necessários. Para acessar o DynamoDB, crie um objeto de serviço do cliente DynamoDB. Crie um objeto JSON contendo os parâmetros necessários para descrever um método DescribeTableCommand do objeto de serviço do DynamoDB.

import { DescribeTableCommand, DynamoDBClient } from "@aws-sdk/client-dynamodb"; const client = new DynamoDBClient({}); export const main = async () => { const command = new DescribeTableCommand({ TableName: "Pastries", }); const response = await client.send(command); console.log(`TABLE NAME: ${response.Table.TableName}`); console.log(`TABLE ITEM COUNT: ${response.Table.ItemCount}`); return response; };

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

node describe-table.js

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

Excluir uma tabela

Crie um módulo do Node.js com o nome de arquivo delete-table.js. Certifique-se de configurar o SDK conforme mostrado anteriormente, incluindo o download dos clientes e pacotes necessários. Para acessar o DynamoDB, crie um objeto de serviço do cliente DynamoDB. Crie um objeto JSON com os parâmetros necessários para excluir uma tabela, que, neste exemplo, inclui o nome da tabela fornecido como um parâmetro de linha de comando. Chame o método DeleteTableCommand do objeto de serviço do DynamoDB.

import { DeleteTableCommand, DynamoDBClient } from "@aws-sdk/client-dynamodb"; const client = new DynamoDBClient({}); export const main = async () => { const command = new DeleteTableCommand({ TableName: "DecafCoffees", }); const response = await client.send(command); console.log(response); return response; };

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

node delete-table.js

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