Abbiamo annunciato
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
Questo esempio di codice di Node.js illustra:
Come interrogare e scansionare una tabella DynamoDB alla ricerca di elementi.
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, si utilizza una serie di moduli Node.js per identificare uno o più elementi che si desidera recuperare da una tabella DynamoDB. Il codice utilizza l'SDK per JavaScript interrogare e scansionare le tabelle utilizzando questi metodi della classe client DynamoDB:
Attività prerequisite
Per configurare ed eseguire questo esempio, è necessario completare queste attività:
Installa Node.js. Per ulteriori informazioni, consultare il sito Web di Node.js
. Creazione di un file di configurazione condiviso con le credenziali utente. Per ulteriori informazioni sulla fornitura di un file delle credenziali condiviso, consulta Caricamento delle credenziali su Node.js dal file delle credenziali condiviso.
Crea una tabella DynamoDB a cui puoi accedere agli elementi. Per ulteriori informazioni sulla creazione di una tabella DynamoDB, vedere. Creazione e utilizzo di tabelle in DynamoDB
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 ddb_query.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 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 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
Scansione di una tabella
Crea un modulo Node.js con il nome del file ddb_scan.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 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 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