Utilizzo del DynamoDB Document Client - 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à.

Utilizzo del DynamoDB Document Client

JavaScript code example that applies to Node.js execution

Questo esempio di codice di Node.js illustra:

  • Come accedere a una tabella DynamoDB utilizzando il client di documenti.

Lo scenario

Il client di documenti DynamoDB semplifica l'utilizzo degli elementi astraendo la nozione di valori degli attributi. Questa astrazione annota i JavaScript tipi nativi forniti come parametri di input e converte i dati di risposta annotati in tipi nativi. JavaScript

Per ulteriori informazioni sulla classe DynamoDB Document Client, AWS.DynamoDB.DocumentClientconsulta l'API Reference. Per ulteriori informazioni sulla programmazione con Amazon DynamoDB, consulta Programming with DynamoDB nella Amazon DynamoDB Developer Guide.

In questo esempio, si utilizza una serie di moduli Node.js per eseguire operazioni di base su una tabella DynamoDB utilizzando il client di documenti. Il codice utilizza l'SDK per interrogare e JavaScript scansionare le tabelle utilizzando questi metodi della classe DynamoDB Document Client:

Attività prerequisite

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

Ottenere un item da una tabella.

Crea un modulo Node.js con il nome del file ddbdoc_get.js. Assicurati di configurare il kit SDK come mostrato in precedenza. Per accedere a DynamoDB, crea un oggetto. AWS.DynamoDB.DocumentClient Crea un oggetto JSON che contiene i parametri necessari per ottenere una voce dalla tabella, che in questo esempio include il nome della tabella, il nome della chiave hash nella tabella e il valore della chiave hash della voce che si desidera individuare. Chiama il get metodo del client di documenti DynamoDB.

// Load the AWS SDK for Node.js var AWS = require("aws-sdk"); // Set the region AWS.config.update({ region: "REGION" }); // Create DynamoDB document client var docClient = new AWS.DynamoDB.DocumentClient({ apiVersion: "2012-08-10" }); var params = { TableName: "EPISODES_TABLE", Key: { KEY_NAME: VALUE }, }; docClient.get(params, function (err, data) { if (err) { console.log("Error", err); } else { console.log("Success", data.Item); } });

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

node ddbdoc_get.js

Questo codice di esempio può essere trovato qui. GitHub

Inserimento di una voce in una tabella

Crea un modulo Node.js con il nome del file ddbdoc_put.js. Assicurati di configurare il kit SDK come mostrato in precedenza. Per accedere a DynamoDB, crea un oggetto. AWS.DynamoDB.DocumentClient Crea un oggetto JSON che contiene i parametri necessari per scrivere una voce per la tabella, che in questo esempio include il nome della tabella e una descrizione della voce da aggiungere o aggiornare che include il valore e la chiave hash e i nomi e i valori degli attributi da impostare sull'oggetto. Chiama il put metodo del client di documenti DynamoDB.

// Load the AWS SDK for Node.js var AWS = require("aws-sdk"); // Set the region AWS.config.update({ region: "REGION" }); // Create DynamoDB document client var docClient = new AWS.DynamoDB.DocumentClient({ apiVersion: "2012-08-10" }); var params = { TableName: "TABLE", Item: { HASHKEY: VALUE, ATTRIBUTE_1: "STRING_VALUE", ATTRIBUTE_2: VALUE_2, }, }; docClient.put(params, function (err, data) { if (err) { console.log("Error", err); } else { console.log("Success", data); } });

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

node ddbdoc_put.js

Questo codice di esempio può essere trovato qui. GitHub

Aggiornamento di una voce in una tabella

Crea un modulo Node.js con il nome del file ddbdoc_update.js. Assicurati di configurare il kit SDK come mostrato in precedenza. Per accedere a DynamoDB, crea un oggetto. AWS.DynamoDB.DocumentClient Crea un oggetto JSON che contiene i parametri necessari per scrivere una voce per la tabella, che in questo esempio include il nome della tabella, la chiave della voce da aggiornare, un set di UpdateExpressions che definiscono gli attributi della voce da aggiornare con i token a cui sono stati assegnati i valori nei parametri ExpressionAttributeValues. Chiama il update metodo del client di documenti DynamoDB.

// Load the AWS SDK for Node.js var AWS = require("aws-sdk"); // Set the region AWS.config.update({ region: "REGION" }); // Create DynamoDB document client var docClient = new AWS.DynamoDB.DocumentClient({ apiVersion: "2012-08-10" }); // Create variables to hold numeric key values var season = SEASON_NUMBER; var episode = EPISODES_NUMBER; var params = { TableName: "EPISODES_TABLE", Key: { Season: season, Episode: episode, }, UpdateExpression: "set Title = :t, Subtitle = :s", ExpressionAttributeValues: { ":t": "NEW_TITLE", ":s": "NEW_SUBTITLE", }, }; docClient.update(params, function (err, data) { if (err) { console.log("Error", err); } else { console.log("Success", data); } });

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

node ddbdoc_update.js

Questo codice di esempio può essere trovato qui. GitHub

Esecuzione di query su una tabella

In questo esempio si esegue una query su una tabella che contiene informazioni sull'episodio di una serie di video e che restituisce i titoli e sottotitoli degli episodi della seconda stagione dopo l'episodio 9 che contengono una determinata frase nel loro sottotitolo.

Crea un modulo Node.js con il nome del file ddbdoc_query.js. Assicurati di configurare il kit SDK come mostrato in precedenza. Per accedere a DynamoDB, crea un oggetto. AWS.DynamoDB.DocumentClient Crea un oggetto JSON che contiene i parametri necessari per eseguire una query sulla tabella, che in questo esempio include il nome della tabella, i ExpressionAttributeValues necessari per la query e una KeyConditionExpression che utilizza tali valori per definire quali voci la query restituisce, Chiama il query metodo del client di documenti DynamoDB.

// Load the AWS SDK for Node.js var AWS = require("aws-sdk"); // Set the region AWS.config.update({ region: "REGION" }); // Create DynamoDB document client var docClient = new AWS.DynamoDB.DocumentClient({ apiVersion: "2012-08-10" }); var params = { ExpressionAttributeValues: { ":s": 2, ":e": 9, ":topic": "PHRASE", }, KeyConditionExpression: "Season = :s and Episode > :e", FilterExpression: "contains (Subtitle, :topic)", TableName: "EPISODES_TABLE", }; docClient.query(params, function (err, data) { if (err) { console.log("Error", err); } else { console.log("Success", data.Items); } });

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

node ddbdoc_query.js

Questo codice di esempio può essere trovato qui. GitHub

Eliminazione di una voce da una tabella.

Crea un modulo Node.js con il nome del file ddbdoc_delete.js. Assicurati di configurare il kit SDK come mostrato in precedenza. Per accedere a DynamoDB, crea un oggetto. AWS.DynamoDB.DocumentClient Crea un oggetto JSON che contiene i parametri necessari per eliminare una voce nella tabella, che in questo esempio include il nome della tabella e il nome e il valore della chiave hash della voce che si desidera eliminare. Chiama il delete metodo del client di documenti DynamoDB.

// Load the AWS SDK for Node.js var AWS = require("aws-sdk"); // Set the region AWS.config.update({ region: "REGION" }); // Create DynamoDB document client var docClient = new AWS.DynamoDB.DocumentClient({ apiVersion: "2012-08-10" }); var params = { Key: { HASH_KEY: VALUE, }, TableName: "TABLE", }; docClient.delete(params, function (err, data) { if (err) { console.log("Error", err); } else { console.log("Success", data); } });

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

node ddbdoc_delete.js

Questo codice di esempio può essere trovato qui. GitHub