Artikel im Stapel lesen und schreiben in DynamoDB - AWS SDK for JavaScript

Helfen Sie uns, dasAWS SDK for JavaScriptVersion 3 (V3) -Dokumentation durch Feedback unter Verwendung derFeedbackLink oder erstellen Sie ein Problem oder ziehen Sie eine Anfrage anGitHubaus.

DieAWS SDK for JavaScriptReferenzhandbuch zur V3-API-Referenzbeschreibt ausführlich alle API-Operationen für dieAWS 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.

Artikel im Stapel lesen und schreiben 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 zum Ausführen von Stapel-Lese- und Schreibvorgängen unter Verwendung dieser Methoden der DynamoDB -Client-Klasse:

Erforderliche Aufgaben

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

  • Richten Sie die Projektumgebung ein, um diese Knoten-JypeScript-Beispiele auszuführen, und installieren Sie die erforderlichenAWS SDK for JavaScriptDrittanbieter-Module. Folgen Sie den Anweisungen fürGitHubaus.

  • Erstellen Sie eine freigegebene Konfigurationsdatei mit Ihren Anmeldeinformationen. Weitere Informationen zum Bereitstellen einer Datei mit gemeinsam genutzten Anmeldeinformationen finden Sie unter Laden der Anmeldeinformationen in Node.js aus der Datei mit gemeinsamen -Anmeld.

  • Erstellen Sie eine DynamoDB-Tabelle, auf deren Elemente Sie zugreifen können. Weitere Informationen zum Erstellen einer DynamoDB-Tabelle finden Sie unterErstellen und Verwenden von Tabellen in DynamoDBaus.

Wichtig

Diese Beispiele verwenden ECMASCRIPT6 (ES6). Dies erfordert Node.js Version 13.x oder höher. Informationen zum Herunterladen der neuesten Version von Node.js finden Sie unterNode.js wird heruntergeladen.aus.

Wenn Sie jedoch lieber CommonJS-Sytax verwenden möchten, lesen Sie bitteJavaScript ES6/CommonJS-Syntax

Lesen von Elementen im Batch

Erstellen eineslibsErstellen Sie ein Modul Node.js mit dem DateinamenddbClient.jsaus. Kopieren Sie den folgenden Code und fügen Sie ihn ein, wodurch das DynamoDB-Clientobjekt erstellt wird. ErsetzenREGIONmit IhrerAWSRegion.

// 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 auf 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 eineDynamoDBClient-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. Rufen Sie dieBatchGetItemCommand-Methode des DynamoDB-Serviceobjekts.

Anmerkung

ErsetzenTABLE_NAMEMit dem Namen der Tabelle zurück,KEY_NAMEMit dem Primärschlüssel der Tabelle zurück,KEY_VALUEmit 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 folgt Stapel ruft Elemente aus einer Tabelle mit einem Primärschlüssel ab, der nur aus einem Teilungsschlüssel besteht -KEY_NAME- und nicht von einem Teilungs- und Sortierschlüssel. Wenn die Tabelle einen Primärschlüssel enthält, 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();

Geben Sie an der Eingabeaufforderung Folgendes bei der Eingabeaufforderung ein.

node ddb_batchgetitem.js

Diesen Beispiel-Code finden Siehier auf GitHubaus.

Schreiben von Elementen im Batch

Erstellen eineslibsErstellen Sie ein Modul Node.js mit dem DateinamenddbClient.jsaus. Kopieren Sie den folgenden Code und fügen Sie ihn ein, wodurch das DynamoDB-Clientobjekt erstellt wird. ErsetzenREGIONmit IhrerAWSRegion.

// 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 auf 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 eineDynamoDBClient-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. Rufen Sie dieBatchWriteItemCommand-Methode des DynamoDB-Serviceobjekts.

Anmerkung

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

Der folgende Codebeispielstapel schreibt Elemente in eine Tabelle mit einem Primärschlüssel, der nur aus einem Teilschlüssel besteht -KEY_NAME- und nicht von einem Teilungs- und Sortierschlüssel. Wenn die Tabelle einen Primärschlüssel enthält, 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();

Geben Sie an der Eingabeaufforderung Folgendes bei der Eingabeaufforderung ein.

node ddb_batchwriteitem.js

Diesen Beispiel-Code finden Siehier auf GitHubaus.