Lesen und Schreiben von Elementen im Batch in DynamoDB - AWS SDK for JavaScript

Hilf uns, das zu verbessernAWS SDK for JavaScriptVersion 3 (V3) -Dokumentation, indem Sie Feedback mithilfe derFeedbackverlinken, oder erstellen Sie ein Issue oder Pull Request aufGitHub.

DieAWS SDK for JavaScriptReferenzhandbuch zur V3-APIbeschreibt ausführlich alle API-Operationen für denAWS SDK for JavaScriptVersion 3 (V3).

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Lesen und Schreiben von Elementen im Batch in DynamoDB

JavaScript code example that applies to Node.js execution

Dieses Node.js-Codebeispiel zeigt:

  • So lesen und schreiben Sie Stapel von Elementen in einer DynamoDB-Tabelle.

Das Szenario

In diesem Beispiel verwenden Sie eine Reihe von Modulen von Node.js, um einen Stapel von Elementen in einer DynamoDB-Tabelle abzulegen und einen Stapel von Elementen zu lesen. Der Code verwendet das SDK für JavaScript um stapelweise Lese- und Schreibvorgänge unter Verwendung dieser Methoden der DynamoDB-Client-Klasse durchzuführen:

Erforderliche Aufgaben

Zum Einrichten und Ausführen dieses Beispiels schließen Sie zunächst diese Aufgaben ab:

Wichtig

In diesen Beispielen wird ECMAScript6 (ES6) verwendet. Dies erfordert Node.js Version 13.x oder höher. Informationen zum Herunterladen der neuesten Version von Node.js finden Sie unterNode.jsaus.

Wenn Sie jedoch die CommonJS-Syntax bevorzugen, lesen Sie bitteJavaScript ES6/CommonJS-Syntax

Anmerkung

Weitere Informationen über die in diesen Beispielen verwendeten Datentypen finden Sie unterUnterstützte Datentypen und Benennungsregeln in Amazon DynamoDBaus.

Lesen von Elementen im Batch

Erstellen eineslibsund erstellen Sie ein Modul Node.js mit dem DateinamenddbClient.jsaus. Kopieren Sie den unten stehenden Code und fügen Sie ihn ein, wodurch das DynamoDB-Clientobjekt erstellt wird. ErsetzenREGION with your AWSRegion.

// Create service client module using ES6 syntax. import { DynamoDBClient } from "@aws-sdk/client-dynamodb"; // Set the AWS Region. const REGION = "REGION"; //e.g. "us-east-1" // Create an Amazon DynamoDB service client object. const ddbClient = new DynamoDBClient({ region: REGION }); export { ddbClient };

Dieser Code ist verfügbarhier GitHubaus.

Erstellen Sie ein Node.js-Modul mit dem Dateinamen ddb_batchgetitem.js. Stellen Sie sicher, dass Sie das SDK, wie zuvor dargestellt konfigurieren, einschließlich des Herunterladens der erforderlichen Clients und Pakete. Um auf DynamoDB zuzugreifen, erstellen Sie eineDynamoDB-Serviceobjekt. Erstellen Sie ein JSON-Objekt mit den erforderlichen Parametern für das Abrufen eines Stapels von Elementen, das in diesem Beispiel den Namen einer oder mehrerer zu lesender Tabellen, die in jeder Tabelle zu lesenden Werte von Schlüsseln und den Projektionsausdruck beinhaltet, der die zurückzugebenden Attribute angibt. Aufrufen Sie dieBatchGetItemCommand-Methode des DynamoDB--Serviceobjekts.

Anmerkung

ErsetzenTABLE_NAMEmit dem Namen der Tabelle zurück,KEY_NAMEmit dem Primärschlüssel der TabelleSCHLÜSSELWERTmit dem Wert der Primärschlüsselzeile, die den Attributwert enthält, undATTRIBUTE_NAMEder Name der Attributspalte, die den Attributwert enthält.

Anmerkung

Dieser folgende Code unten ruft Elemente aus einer Tabelle mit einem Primärschlüssel ab, der nur aus einem Partitionsschlüssel besteht -KEY_NAME- und nicht sowohl von einem Partitions- als auch von einem Sortierschlüssel. Wenn die Tabelle über einen Primärschlüssel verfügt, der aus einem Partitionsschlüssel und einem Sortierschlüssel besteht, müssen Sie auch den Namen und das Attribut des Sortierschlüssels für jedes Element angeben.

// Import required AWS SDK clients and commands for Node.js import { BatchGetItemCommand } from "@aws-sdk/client-dynamodb"; import { ddbClient } from "./libs/ddbClient.js"; // Set the parameters export const params = { RequestItems: { TABLE_NAME: { Keys: [ { KEY_NAME_1: { N: "KEY_VALUE" }, KEY_NAME_2: { N: "KEY_VALUE" }, KEY_NAME_3: { N: "KEY_VALUE" }, }, ], ProjectionExpression: "ATTRIBUTE_NAME", }, }, }; export const run = async () => { try { const data = await ddbClient.send(new BatchGetItemCommand(params)); console.log("Success, items retrieved", data); return data; } catch (err) { console.log("Error", err); } }; run();

Um das Beispiel auszuführen, geben Sie Folgendes bei der Eingabeaufforderung ein.

node ddb_batchgetitem.js

Diesen Beispielcode finden Siehier GitHubaus.

Schreiben von Elementen im Batch

Erstellen eineslibsund erstellen Sie ein Modul Node.js mit dem DateinamenddbClient.jsaus. Kopieren Sie den unten stehenden Code und fügen Sie ihn ein, wodurch das DynamoDB-Clientobjekt erstellt wird. ErsetzenREGION with your AWSRegion.

// Create service client module using ES6 syntax. import { DynamoDBClient } from "@aws-sdk/client-dynamodb"; // Set the AWS Region. const REGION = "REGION"; //e.g. "us-east-1" // Create an Amazon DynamoDB service client object. const ddbClient = new DynamoDBClient({ region: REGION }); export { ddbClient };

Dieser Code ist verfügbarhier GitHubaus.

Erstellen Sie ein Node.js-Modul mit dem Dateinamen ddb_batchwriteitem.js. Stellen Sie sicher, dass Sie das SDK, wie zuvor dargestellt konfigurieren, einschließlich des Herunterladens der erforderlichen Clients und Pakete. Um auf DynamoDB zuzugreifen, erstellen Sie eineDynamoDB-Serviceobjekt. Erstellen Sie ein JSON-Objekt mit den erforderlichen Parametern für das Abrufen eines Stapels von Elementen, das in diesem Beispiel die Tabelle, in die Sie Elemente schreiben möchten, die Schlüssel, die Sie für jedes Element schreiben möchten, und die Attribute zusammen mit ihren Werten beinhaltet. Aufrufen Sie dieBatchWriteItemCommand-Methode des DynamoDB-Serviceobjekts.

Anmerkung

ErsetzenTABLE_NAMEmit dem Namen der Tabelle zurück,SCHLÜSSELmit dem Primärschlüssel des Elements,SCHLÜSSELWERTmit dem Wert der Primärschlüsselzeile, die den Attributwert enthält, undATTRIBUTE_NAMEder Name der Attributspalte, die den Attributwert enthält.

Der folgende Codebeispiel-Batch schreibt Elemente in eine Tabelle mit einem Primärschlüssel, der nur aus einem Partitionsschlüssel besteht:KEY_NAME- und nicht sowohl von einem Partitions- als auch von einem Sortierschlüssel. Wenn die Tabelle über einen Primärschlüssel verfügt, der aus einem Partitionsschlüssel und einem Sortierschlüssel besteht, müssen Sie auch den Namen und das Attribut des Sortierschlüssels für jedes Element angeben.

// Import required AWS SDK clients and commands for Node.js import { BatchWriteItemCommand } from "@aws-sdk/client-dynamodb"; import { ddbClient } from "./libs/ddbClient.js"; // Set the parameters export const params = { RequestItems: { TABLE_NAME: [ { PutRequest: { Item: { KEY: { N: "KEY_VALUE" }, ATTRIBUTE_1: { S: "ATTRIBUTE_1_VALUE" }, ATTRIBUTE_2: { N: "ATTRIBUTE_2_VALUE" }, }, }, }, { PutRequest: { Item: { KEY: { N: "KEY_VALUE" }, ATTRIBUTE_1: { S: "ATTRIBUTE_1_VALUE" }, ATTRIBUTE_2: { N: "ATTRIBUTE_2_VALUE" }, }, }, }, ], }, }; export const run = async () => { try { const data = await ddbClient.send(new BatchWriteItemCommand(params)); console.log("Success, items inserted", data); return data; } catch (err) { console.log("Error", err); } }; run();

Um das Beispiel auszuführen, geben Sie Folgendes bei der Eingabeaufforderung ein.

node ddb_batchwriteitem.js

Diesen Beispielcode finden Siehier GitHubaus.