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