Creazione e utilizzo di tabelle in DynamoDB - AWS SDK for JavaScript

Abbiamo annunciato l'imminente uscita end-of-support per la AWS SDK for JavaScript v2. Ti consigliamo di migrare alla AWS SDK for JavaScript v3. Per date, dettagli aggiuntivi e informazioni su come effettuare la migrazione, consulta l'annuncio collegato.

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Creazione e utilizzo di tabelle in DynamoDB

JavaScript code example that applies to Node.js execution

Questo esempio di codice di Node.js illustra:

  • Come creare e gestire tabelle utilizzate per archiviare e recuperare dati da DynamoDB.

Lo scenario

Analogamente ad altri sistemi di database, DynamoDB archivia i dati in tabelle. Una tabella DynamoDB è una raccolta di dati organizzata in elementi analoghi alle righe. Per archiviare o accedere ai dati in DynamoDB, devi creare e lavorare con le tabelle.

In questo esempio, si utilizza una serie di moduli Node.js per eseguire operazioni di base con una tabella DynamoDB. Il codice utilizza l'SDK per JavaScript creare e lavorare con le tabelle utilizzando questi metodi della AWS.DynamoDB classe client:

Attività prerequisite

Per configurare ed eseguire questo esempio, è necessario completare queste attività:

Creazione di una tabella

Crea un modulo Node.js con il nome del file ddb_createtable.js. Assicurati di configurare il kit SDK come mostrato in precedenza. Per accedere a DynamoDB, crea un AWS.DynamoDB oggetto servizio. Crea un oggetto JSON che contiene i parametri necessari per creare una tabella, che in questo esempio include il nome e il tipo di dati per ogni attributo, lo schema chiave, il nome della tabella e le unità di throughput sui cui effettuare il provisioning. Chiama il createTable metodo dell'oggetto servizio DynamoDB.

// Load the AWS SDK for Node.js var AWS = require("aws-sdk"); // Set the region AWS.config.update({ region: "REGION" }); // Create the DynamoDB service object var ddb = new AWS.DynamoDB({ apiVersion: "2012-08-10" }); var params = { AttributeDefinitions: [ { AttributeName: "CUSTOMER_ID", AttributeType: "N", }, { AttributeName: "CUSTOMER_NAME", AttributeType: "S", }, ], KeySchema: [ { AttributeName: "CUSTOMER_ID", KeyType: "HASH", }, { AttributeName: "CUSTOMER_NAME", KeyType: "RANGE", }, ], ProvisionedThroughput: { ReadCapacityUnits: 1, WriteCapacityUnits: 1, }, TableName: "CUSTOMER_LIST", StreamSpecification: { StreamEnabled: false, }, }; // Call DynamoDB to create the table ddb.createTable(params, function (err, data) { if (err) { console.log("Error", err); } else { console.log("Table Created", data); } });

Digita la seguente riga di comando per eseguire l'esempio.

node ddb_createtable.js

Questo codice di esempio può essere trovato qui. GitHub

Elencare le tabelle

Crea un modulo Node.js con il nome del file ddb_listtables.js. Assicurati di configurare il kit SDK come mostrato in precedenza. Per accedere a DynamoDB, crea un AWS.DynamoDB oggetto servizio. Creare un oggetto JSON che contiene i parametri necessari per elencare le tabelle, che in questo esempio limita il numero di tabelle elencate a 10. Chiama il listTables metodo dell'oggetto servizio DynamoDB.

// Load the AWS SDK for Node.js var AWS = require("aws-sdk"); // Set the region AWS.config.update({ region: "REGION" }); // Create the DynamoDB service object var ddb = new AWS.DynamoDB({ apiVersion: "2012-08-10" }); // Call DynamoDB to retrieve the list of tables ddb.listTables({ Limit: 10 }, function (err, data) { if (err) { console.log("Error", err.code); } else { console.log("Table names are ", data.TableNames); } });

Digita la seguente riga di comando per eseguire l'esempio.

node ddb_listtables.js

Questo codice di esempio può essere trovato qui. GitHub

Descrizione di una tabella

Crea un modulo Node.js con il nome del file ddb_describetable.js. Assicurati di configurare il kit SDK come mostrato in precedenza. Per accedere a DynamoDB, crea un AWS.DynamoDB oggetto servizio. Crea un oggetto JSON che contiene i parametri necessari per descrivere una tabella, che in questo esempio include il nome della tabella fornito come parametro della riga di comando. Chiama il describeTable metodo dell'oggetto servizio DynamoDB.

// Load the AWS SDK for Node.js var AWS = require("aws-sdk"); // Set the region AWS.config.update({ region: "REGION" }); // Create the DynamoDB service object var ddb = new AWS.DynamoDB({ apiVersion: "2012-08-10" }); var params = { TableName: process.argv[2], }; // Call DynamoDB to retrieve the selected table descriptions ddb.describeTable(params, function (err, data) { if (err) { console.log("Error", err); } else { console.log("Success", data.Table.KeySchema); } });

Digita la seguente riga di comando per eseguire l'esempio.

node ddb_describetable.js TABLE_NAME

Questo codice di esempio può essere trovato qui. GitHub

Eliminazione di una tabella

Crea un modulo Node.js con il nome del file ddb_deletetable.js. Assicurati di configurare il kit SDK come mostrato in precedenza. Per accedere a DynamoDB, crea un AWS.DynamoDB oggetto servizio. Crea un oggetto JSON che contiene i parametri necessari per eliminare una tabella, che in questo esempio include il nome della tabella fornito come parametro della riga di comando. Chiama il deleteTable metodo dell'oggetto servizio DynamoDB.

// Load the AWS SDK for Node.js var AWS = require("aws-sdk"); // Set the region AWS.config.update({ region: "REGION" }); // Create the DynamoDB service object var ddb = new AWS.DynamoDB({ apiVersion: "2012-08-10" }); var params = { TableName: process.argv[2], }; // Call DynamoDB to delete the specified table ddb.deleteTable(params, function (err, data) { if (err && err.code === "ResourceNotFoundException") { console.log("Error: Table not found"); } else if (err && err.code === "ResourceInUseException") { console.log("Error: Table in use"); } else { console.log("Success", data); } });

Digita la seguente riga di comando per eseguire l'esempio.

node ddb_deletetable.js TABLE_NAME

Questo codice di esempio può essere trovato qui. GitHub