View a markdown version of this page

Interrogazione e scansione di una tabella DynamoDB - 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à.

Interrogazione e scansione di una tabella DynamoDB

JavaScript code example that applies to Node.js execution

Questo esempio di Node.js codice mostra:

  • Come interrogare e scansionare gli elementi in una tabella DynamoDB.

Lo scenario

Eseguire le query consente di trovare le voci in una tabella o un indice secondario utilizzando solo i valori degli attributi della chiave primaria. È necessario fornire un nome e un valore della chiave di partizione da cercare. Puoi inoltre fornire un nome e un valore della chiave di ordinamento e utilizzare un operatore di confronto per perfezionare i risultati della ricerca. La scansione permette di trovare le voci controllando ogni voce nella tabella specificata.

In questo esempio, utilizzi una serie di Node.js moduli per identificare uno o più elementi da recuperare da una tabella DynamoDB. Il codice utilizza l'SDK per interrogare e JavaScript scansionare le tabelle utilizzando questi metodi della classe client DynamoDB:

Attività prerequisite

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

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 file. ddb_query.js Assicurati di configurare il kit SDK come mostrato in precedenza. Per accedere a DynamoDB, crea un oggetto di AWS.DynamoDB servizio. 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, una KeyConditionExpression che utilizza tali valori per definire quali voci la query restituisce e i nomi dei valori degli attributi da restituire per ciascuna voce. Chiama il query metodo dell'oggetto di servizio DynamoDB.

// Load the AWS SDK for Node.js var AWS = require("aws-sdk"); // Set the region AWS.config.update({ region: "REGION" }); // Create DynamoDB service object var ddb = new AWS.DynamoDB({ apiVersion: "2012-08-10" }); var params = { ExpressionAttributeValues: { ":s": { N: "2" }, ":e": { N: "09" }, ":topic": { S: "PHRASE" }, }, KeyConditionExpression: "Season = :s and Episode > :e", ProjectionExpression: "Episode, Title, Subtitle", FilterExpression: "contains (Subtitle, :topic)", TableName: "EPISODES_TABLE", }; ddb.query(params, function (err, data) { if (err) { console.log("Error", err); } else { //console.log("Success", data.Items); data.Items.forEach(function (element, index, array) { console.log(element.Title.S + " (" + element.Subtitle.S + ")"); }); } });

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

node ddb_query.js

Questo codice di esempio può essere trovato qui. GitHub

Scansione di una tabella

Crea un Node.js modulo con il nome del fileddb_scan.js. Assicurati di configurare il kit SDK come mostrato in precedenza. Per accedere a DynamoDB, crea un oggetto di AWS.DynamoDB servizio. Crea un oggetto JSON che contiene i parametri necessari per eseguire la scansione della tabella per le voci, che in questo esempio include il nome della tabella, l'elenco dei valori degli attributi da restituire per ogni corrispondenza e un'espressione per filtrare il set di risultati per trovare le voci che contengono una determinata frase. Chiama il scan metodo dell'oggetto di servizio DynamoDB.

// Load the AWS SDK for Node.js. var AWS = require("aws-sdk"); // Set the AWS Region. AWS.config.update({ region: "REGION" }); // Create DynamoDB service object. var ddb = new AWS.DynamoDB({ apiVersion: "2012-08-10" }); const params = { // Specify which items in the results are returned. FilterExpression: "Subtitle = :topic AND Season = :s AND Episode = :e", // Define the expression attribute value, which are substitutes for the values you want to compare. ExpressionAttributeValues: { ":topic": { S: "SubTitle2" }, ":s": { N: 1 }, ":e": { N: 2 }, }, // Set the projection expression, which are the attributes that you want. ProjectionExpression: "Season, Episode, Title, Subtitle", TableName: "EPISODES_TABLE", }; ddb.scan(params, function (err, data) { if (err) { console.log("Error", err); } else { console.log("Success", data); data.Items.forEach(function (element, index, array) { console.log( "printing", element.Title.S + " (" + element.Subtitle.S + ")" ); }); } });

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

node ddb_scan.js

Questo codice di esempio può essere trovato qui. GitHub