Lettura e scrittura di elementi in batch in DynamoDB - AWS SDK for JavaScript

La Guida di riferimento dell'API AWS SDK for JavaScript V3 descrive in dettaglio tutte le operazioni API per la AWS SDK for JavaScript versione 3 (V3).

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à.

Lettura e scrittura di elementi in batch in DynamoDB

JavaScript code example that applies to Node.js execution

Questo esempio di codice di Node.js illustra:

  • Come leggere e scrivere batch di elementi in una tabella DynamoDB.

Lo scenario

In questo esempio, si utilizza una serie di moduli Node.js per inserire un batch di elementi in una tabella DynamoDB e leggere un batch di elementi. Il codice utilizza l'SDK per JavaScript eseguire operazioni di lettura e scrittura in batch utilizzando questi metodi della classe client DynamoDB:

Attività prerequisite

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

  • Configura l'ambiente di progetto per eseguire questi TypeScript esempi di Node e installa i moduli richiesti AWS SDK for JavaScript e di terze parti. Segui le istruzioni su GitHub.

  • Creazione di un file di configurazione condiviso con le credenziali utente. Per ulteriori informazioni sulla fornitura di un file di credenziali condiviso, consulta File di configurazione e credenziali condivisi nella Guida di riferimento agli AWS SDK e agli strumenti.

  • 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

Importante

Questi esempi utilizzano ECMAScript6 (ES6). Ciò richiede la versione 13.x o successiva di Node.js. Per scaricare e installare la versione più recente di Node.js, consulta Node.js downloads. .

Tuttavia, se preferisci utilizzare la sintassi CommonJS, fai riferimento a. JavaScript Sintassi ES6/CommonJS

Nota

Per informazioni sui tipi di dati utilizzati in questi esempi, consulta Tipi di dati e regole di denominazione supportati in Amazon DynamoDB.

Lettura di elementi in un batch

Crea un modulo Node.js con il nome del file batch-get-item.js. Assicurati di configurare l'SDK come mostrato in precedenza, incluso il download dei client e dei pacchetti richiesti. Per accedere a DynamoDB, crea DynamoDB un oggetto servizio client. Crea un oggetto JSON che contiene i parametri necessari per ottenere un batch di voci, che in questo esempio include il nome di una o più tabelle da cui leggere, i valori delle chiavi da leggere in ciascuna tabella e l'espressione di proiezione che specifica gli attributi da restituire. Chiama il BatchGetItemCommand metodo dell'oggetto servizio DynamoDB.

import { BatchGetItemCommand, DynamoDBClient } from "@aws-sdk/client-dynamodb"; const client = new DynamoDBClient({}); export const main = async () => { const command = new BatchGetItemCommand({ RequestItems: { // Each key in this object is the name of a table. This example refers // to a PageAnalytics table. PageAnalytics: { // Each entry in Keys is an object that specifies a primary key. Keys: [ { // "PageName" is the partition key (simple primary key). // "S" specifies a string as the data type for the value "Home". // For more information about data types, // see https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.NamingRulesDataTypes.html#HowItWorks.DataTypes and // https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.LowLevelAPI.html#Programming.LowLevelAPI.DataTypeDescriptors PageName: { S: "Home" }, }, { PageName: { S: "About" }, }, ], // Only return the "PageName" and "PageViews" attributes. ProjectionExpression: "PageName, PageViews", }, }, }); const response = await client.send(command); console.log(response.Responses["PageAnalytics"]); return response; };

Per eseguire l'esempio, immettete quanto segue al prompt dei comandi.

node batch-get-item.js

Questo codice di esempio può essere trovato qui su GitHub.

Scrittura di articoli in batch

Crea un modulo Node.js con il nome del file batch-write-item.js. Assicurati di configurare l'SDK come mostrato in precedenza, incluso il download dei client e dei pacchetti richiesti. Per accedere a DynamoDB, crea DynamoDB un oggetto servizio client. Crea un oggetto JSON contenente i parametri necessari per ottenere un batch di elementi, che in questo esempio include la tabella in cui desideri scrivere gli elementi, le chiavi che desideri scrivere per ogni elemento e gli attributi insieme ai relativi valori. Chiama il BatchWriteItemCommand metodo dell'oggetto servizio DynamoDB.

import { BatchWriteItemCommand, DynamoDBClient, } from "@aws-sdk/client-dynamodb"; const client = new DynamoDBClient({}); export const main = async () => { const command = new BatchWriteItemCommand({ RequestItems: { // Each key in this object is the name of a table. This example refers // to a Coffees table. Coffees: [ // Each entry in Coffees is an object that defines either a PutRequest or DeleteRequest. { // Each PutRequest object defines one item to be inserted into the table. PutRequest: { // The keys of Item are attribute names. Each attribute value is an object with a data type and value. // For more information about data types, // see https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.NamingRulesDataTypes.html#HowItWorks.DataTypes Item: { Name: { S: "Donkey Kick" }, Process: { S: "Wet-Hulled" }, Flavors: { SS: ["Earth", "Syrup", "Spice"] }, }, }, }, { PutRequest: { Item: { Name: { S: "Flora Ethiopia" }, Process: { S: "Washed" }, Flavors: { SS: ["Stone Fruit", "Toasted Almond", "Delicate"] }, }, }, }, ], }, }); const response = await client.send(command); console.log(response); return response; };

Per eseguire l'esempio, immettete quanto segue al prompt dei comandi.

node batch-write-item.js

Questo codice di esempio può essere trovato qui su GitHub.