View a markdown version of this page

Utilizzo del DynamoDB Document Client - AWS SDK per JavaScript

La versione AWS SDK per JavaScript v2 ha raggiunto la fine del supporto. Ti consigliamo di eseguire la migrazione alla v3. AWS SDK per JavaScript Per ulteriori dettagli e informazioni su come eseguire la migrazione, consulta questo annuncio. https://aws.amazon.com/blogs/developer/announcing-end-of-support-for-aws-sdk-for-javascript-v2/

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 Node.js codice mostra:

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

Lo scenario

Il client di documenti DynamoDB semplifica il lavoro con gli 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, consulta l'API Reference. AWS.DynamoDB.DocumentClient Per ulteriori informazioni sulla programmazione con Amazon DynamoDB, consulta Programming with DynamoDB nella Amazon DynamoDB Developer Guide.

In questo esempio, utilizzi una serie di Node.js moduli 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 Node.js modulo con il nome del file. ddbdoc_get.js Assicurati di configurare il kit SDK come mostrato in precedenza. Per accedere a DynamoDB, crea un AWS.DynamoDB.DocumentClient oggetto. 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 Node.js modulo con il nome del fileddbdoc_put.js. Assicurati di configurare il kit SDK come mostrato in precedenza. Per accedere a DynamoDB, crea un AWS.DynamoDB.DocumentClient oggetto. 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 Node.js modulo con il nome del fileddbdoc_update.js. Assicurati di configurare il kit SDK come mostrato in precedenza. Per accedere a DynamoDB, crea un AWS.DynamoDB.DocumentClient oggetto. 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 Node.js modulo con il nome del fileddbdoc_query.js. Assicurati di configurare il kit SDK come mostrato in precedenza. Per accedere a DynamoDB, crea un AWS.DynamoDB.DocumentClient oggetto. 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 Node.js modulo con il nome del fileddbdoc_delete.js. Assicurati di configurare il kit SDK come mostrato in precedenza. Per accedere a DynamoDB, crea un AWS.DynamoDB.DocumentClient oggetto. 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