Verwenden des DynamoDB-Dokumentenclients - AWS SDK for JavaScript

Das AWS SDK for JavaScript V3-API-Referenzhandbuch beschreibt im Detail alle API-Operationen für die AWS SDK for JavaScript Version 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.

Verwenden des DynamoDB-Dokumentenclients

JavaScript code example that applies to Node.js execution

Dieses Node.js-Codebeispiel zeigt:

  • So greifen Sie mit den DynamoDB-Dienstprogrammen auf eine DynamoDB-Tabelle zu.

Das Szenario

Der DynamoDB Document Client vereinfacht die Arbeit mit Elementen, indem er den Begriff der Attributwerte abstrahiert. Diese Abstraktion annotiert native JavaScript Typen, die als Eingabeparameter bereitgestellt werden, und konvertiert kommentierte Antwortdaten in native Typen. JavaScript

Weitere Informationen zum DynamoDB Document Client finden Sie unter @aws -sdk/lib-dynamodb README auf. GitHub Weitere Informationen zur Programmierung mit Amazon DynamoDB finden Sie unter Programmieren mit DynamoDB im Amazon DynamoDB Developer Guide.

In diesem Beispiel verwenden Sie eine Reihe von Node.js -Modulen, um mithilfe von DynamoDB-Dienstprogrammen grundlegende Operationen an einer DynamoDB-Tabelle durchzuführen. Der Code verwendet das SDK JavaScript zum Abfragen und Scannen von Tabellen mithilfe der folgenden Methoden der DynamoDB Document Client-Klasse:

Weitere Informationen zur Konfiguration des DynamoDB Document Client finden Sie unter @aws -sdk/lib-dynamodb.

Erforderliche Aufgaben

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

  • Richten Sie die Projektumgebung ein, um diese Beispiele für Node.js auszuführen, und installieren Sie die erforderlichen Module und Module von Drittanbietern. AWS SDK for JavaScript Folgen Sie den Anweisungen auf GitHub.

  • Erstellen Sie eine freigegebene Konfigurationsdatei mit Ihren Anmeldeinformationen. Weitere Informationen zur Bereitstellung einer Datei mit gemeinsam genutzten Anmeldeinformationen finden Sie unter Dateien mit gemeinsam genutzten Konfigurationen und Anmeldeinformationen im Referenzhandbuch für AWS SDKs und Tools.

  • Erstellen Sie eine DynamoDB-Tabelle, auf deren Elemente Sie zugreifen können. Weitere Hinweise zum Erstellen einer DynamoDB-Tabelle mit dem SDK für JavaScript finden Sie unter. Tabellen in DynamoDB erstellen und verwenden Sie können auch die DynamoDB-Konsole verwenden, um eine Tabelle zu erstellen.

Wichtig

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

Wenn Sie jedoch die CommonJS-Syntax bevorzugen, finden Sie weitere Informationen unter. JavaScript ES6/CommonJS-Syntax

Anmerkung

Informationen zu den in diesen Beispielen verwendeten Datentypen finden Sie unter Unterstützte Datentypen und Benennungsregeln in Amazon DynamoDB.

Abrufen eines Elements aus einer Tabelle

Erstellen Sie ein Node.js-Modul mit dem Dateinamen get.js. Stellen Sie sicher, dass Sie das SDK wie zuvor gezeigt konfigurieren, einschließlich der Installation der erforderlichen Clients und Pakete. Dazu gehört @aws-sdk/lib-dynamodb ein Bibliothekspaket, das Dokumenten-Client-Funktionen für bereitstellt@aws-sdk/client-dynamodb. Als Nächstes legen Sie die Konfiguration für Marshalling und Unmarshalling als optionalen zweiten Parameter bei der Erstellung des Dokumentenclients wie unten dargestellt fest. Als Nächstes erstellen Sie die Clients. Erstellen Sie nun ein JSON-Objekt, das die erforderlichen Parameter enthält. Rufen Sie ein Element aus der Tabelle ab. In diesem Beispiel enthält es den Namen der Tabelle, den Namen des Hash-Schlüssels in dieser Tabelle und den Wert des Hash-Schlüssels für das Element, das Sie abrufen möchten. Rufen Sie die GetCommand Methode des DynamoDB Document Client auf.

import { DynamoDBClient } from "@aws-sdk/client-dynamodb"; import { DynamoDBDocumentClient, GetCommand } from "@aws-sdk/lib-dynamodb"; const client = new DynamoDBClient({}); const docClient = DynamoDBDocumentClient.from(client); export const main = async () => { const command = new GetCommand({ TableName: "AngryAnimals", Key: { CommonName: "Shoebill", }, }); const response = await docClient.send(command); console.log(response); return response; };

Um das Beispiel auszuführen, geben Sie an der Befehlszeile Folgendes ein.

node get.js

Dieser Beispielcode finden Sie hier unter GitHub.

Einfügen eines Elements in eine Tabelle

Erstellen Sie ein Node.js-Modul mit dem Dateinamen put.js. Stellen Sie sicher, dass Sie das SDK wie zuvor gezeigt konfigurieren, einschließlich der Installation der erforderlichen Clients und Pakete. Dazu gehört @aws-sdk/lib-dynamodb ein Bibliothekspaket, das Dokumenten-Client-Funktionen für bereitstellt@aws-sdk/client-dynamodb. Als Nächstes legen Sie die Konfiguration für Marshalling und Unmarshalling als optionalen zweiten Parameter bei der Erstellung des Dokumentenclients wie unten dargestellt fest. Als Nächstes erstellen Sie die Clients. Erstellen Sie ein JSON-Objekt mit den Parametern, die zum Schreiben eines Elements in die Tabelle erforderlich sind. In diesem Beispiel enthält es den Namen der Tabelle und eine Beschreibung des hinzuzufügenden oder zu aktualisierenden Elements, die den Hashkey und den Wert sowie Namen und Werte für Attribute enthält, die für das Element festgelegt werden sollen. Rufen Sie die PutCommand Methode des DynamoDB Document Client auf.

import { DynamoDBClient } from "@aws-sdk/client-dynamodb"; import { PutCommand, DynamoDBDocumentClient } from "@aws-sdk/lib-dynamodb"; const client = new DynamoDBClient({}); const docClient = DynamoDBDocumentClient.from(client); export const main = async () => { const command = new PutCommand({ TableName: "HappyAnimals", Item: { CommonName: "Shiba Inu", }, }); const response = await docClient.send(command); console.log(response); return response; };

Um das Beispiel auszuführen, geben Sie an der Befehlszeile Folgendes ein.

node put.js

Dieser Beispielcode finden Sie hier unter GitHub.

Aktualisieren eines Elements in einer Tabelle

Erstellen Sie ein Node.js-Modul mit dem Dateinamen update.js. Stellen Sie sicher, dass Sie das SDK wie zuvor gezeigt konfigurieren, einschließlich der Installation der erforderlichen Clients und Pakete. Dazu gehört @aws-sdk/lib-dynamodb ein Bibliothekspaket, das Dokumenten-Client-Funktionen für bereitstellt@aws-sdk/client-dynamodb. Als Nächstes legen Sie die Konfiguration für Marshalling und Unmarshalling als optionalen zweiten Parameter bei der Erstellung des Dokumentenclients wie unten dargestellt fest. Als Nächstes erstellen Sie die Clients. Erstellen Sie ein JSON-Objekt, das die Parameter enthält, die zum Schreiben eines Elements in die Tabelle erforderlich sind. In diesem Beispiel gehören der Name der Tabelle, der Schlüssel des zu aktualisierenden Elements, ein Satz, der die Attribute des UpdateExpressions zu aktualisierenden Elements mit Tokens definiert, denen Sie in den ExpressionAttributeValues Parametern Werte zuweisen. Rufen Sie die UpdateCommand Methode des DynamoDB Document Client auf.

import { DynamoDBClient } from "@aws-sdk/client-dynamodb"; import { DynamoDBDocumentClient, UpdateCommand } from "@aws-sdk/lib-dynamodb"; const client = new DynamoDBClient({}); const docClient = DynamoDBDocumentClient.from(client); export const main = async () => { const command = new UpdateCommand({ TableName: "Dogs", Key: { Breed: "Labrador", }, UpdateExpression: "set Color = :color", ExpressionAttributeValues: { ":color": "black", }, ReturnValues: "ALL_NEW", }); const response = await docClient.send(command); console.log(response); return response; };

Um das Beispiel auszuführen, geben Sie an der Befehlszeile Folgendes ein.

node update.js

Dieser Beispielcode finden Sie hier unter GitHub.

Abfragen einer Tabelle

Erstellen Sie ein Node.js-Modul mit dem Dateinamen query.js. Stellen Sie sicher, dass Sie das SDK wie zuvor gezeigt konfigurieren, einschließlich der Installation der erforderlichen Clients und Pakete. Dazu gehört @aws-sdk/lib-dynamodb ein Bibliothekspaket, das Dokumenten-Client-Funktionen für bereitstellt@aws-sdk/client-dynamodb. Erstellen Sie ein JSON-Objekt mit den erforderlichen Parametern für das Abfragen der Tabelle, das in diesem Beispiel den Tabellennamen, die von der Abfrage benötigten ExpressionAttributeValues und einen KeyConditionExpression beinhaltet, der diese Werte verwendet, um zu definieren, welche Elemente die Abfrage zurück gibt. Rufen Sie die QueryCommand Methode des DynamoDB Document Client auf.

import { DynamoDBClient } from "@aws-sdk/client-dynamodb"; import { QueryCommand, DynamoDBDocumentClient } from "@aws-sdk/lib-dynamodb"; const client = new DynamoDBClient({}); const docClient = DynamoDBDocumentClient.from(client); export const main = async () => { const command = new QueryCommand({ TableName: "CoffeeCrop", KeyConditionExpression: "OriginCountry = :originCountry AND RoastDate > :roastDate", ExpressionAttributeValues: { ":originCountry": "Ethiopia", ":roastDate": "2023-05-01", }, ConsistentRead: true, }); const response = await docClient.send(command); console.log(response); return response; };

Um das Beispiel auszuführen, geben Sie an der Befehlszeile Folgendes ein.

node query.js

Dieser Beispielcode finden Sie hier unter GitHub.

Löschen eines Elements aus einer Tabelle

Erstellen Sie ein Node.js-Modul mit dem Dateinamen delete.js. Stellen Sie sicher, dass Sie das SDK wie zuvor gezeigt konfigurieren, einschließlich der Installation der erforderlichen Clients und Pakete. Dazu gehört @aws-sdk/lib-dynamodb ein Bibliothekspaket, das Dokumenten-Client-Funktionen für bereitstellt@aws-sdk/client-dynamodb. Als Nächstes legen Sie die Konfiguration für Marshalling und Unmarshalling als optionalen zweiten Parameter bei der Erstellung des Dokumentenclients wie unten dargestellt fest. Als Nächstes erstellen Sie die Clients. Um auf DynamoDB zuzugreifen, erstellen Sie ein DynamoDB Objekt. Erstellen Sie ein JSON-Objekt mit den Parametern, die zum Löschen eines Elements in der Tabelle erforderlich sind. In diesem Beispiel gehören der Name der Tabelle sowie der Name und der Wert des Hashkeys des Elements, das Sie löschen möchten. Rufen Sie die DeleteCommand Methode des DynamoDB Document Client auf.

import { DynamoDBClient } from "@aws-sdk/client-dynamodb"; import { DynamoDBDocumentClient, DeleteCommand } from "@aws-sdk/lib-dynamodb"; const client = new DynamoDBClient({}); const docClient = DynamoDBDocumentClient.from(client); export const main = async () => { const command = new DeleteCommand({ TableName: "Sodas", Key: { Flavor: "Cola", }, }); const response = await docClient.send(command); console.log(response); return response; };

Um das Beispiel auszuführen, geben Sie an der Befehlszeile Folgendes ein.

node delete.js

Dieser Beispielcode finden Sie hier unter GitHub.