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
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