我們宣布
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 DynamoDB 用戶端
這個 Node.js 程式碼範例會說明:
如何使用文件用戶端存取 DynamoDB 表格。
使用案例
DynamoDB 文件用戶端透過抽象屬性值的概念,簡化了使用項目的工作。這種抽象註釋作為輸入參數提供的本機 JavaScript 類型,以及將註釋的響應數據轉換為本地類型。 JavaScript
如需 DynamoDB 文件用戶端類別的詳細資訊,請參閱 API 參考AWS.DynamoDB.DocumentClient
中的。如需使用 Amazon DynamoDB 進行程式設計的詳細資訊,請參閱 Amazon DynamoDB 開發人員指南中的使用 DynamoDB 進行程式設計。
在此範例中,您可以使用一系列 Node.js 模組,使用文件用戶端在 DynamoDB 表上執行基本操作。程式碼會使用 SDK JavaScript 來查詢和掃描使用 DynamoDB 文件用戶端類別的下列方法的資料表:
先決條件任務
若要設定和執行此範例,請先完成這些任務:
安裝 Node.js。如需詳細資訊,請參閱 Node.js
網站。 透過使用者登入資料建立共用組態檔。如需提供共用登入資料檔案的詳細資訊,請參閱 從共用登入資料檔案中在 Node.js 中載入登入資料。
建立一個您可以存取其項目的 DynamoDB 表格。如需使用 SDK 建立 DynamoDB 資料表的詳細資訊 JavaScript,請參閱。在 DynamoDB 中建立和使用表格您也可以使用 DynamoDB 主控台
來建立資料表。
從資料表取得項目
以檔名 ddbdoc_get.js
建立一個 Node.js 模組。請務必依前述的內容來設定軟體開發套件。若要存取 DynamoDB,請建立一個物件AWS.DynamoDB.DocumentClient
。建立 JSON 物件,其包含從資料表取得項目所需的參數,在此範例中包括資料表名稱、在該資料表中雜湊索引鍵的名稱,以及您要取得之項目的雜湊索引鍵值。呼叫 DynamoDB 文件用戶端的get
方法。
// Load the AWS SDK for Node.js var AWS = require("aws-sdk"); // Set the region AWS.config.update({ region: "REGION" }); // Create DynamoDB document client var docClient = new AWS.DynamoDB.DocumentClient({ apiVersion: "2012-08-10" }); var params = { TableName: "EPISODES_TABLE", Key: { KEY_NAME: VALUE }, }; docClient.get(params, function (err, data) { if (err) { console.log("Error", err); } else { console.log("Success", data.Item); } });
若要執行範例,請在命令列中輸入以下內容。
node ddbdoc_get.js
您可以在這裡
將項目放置在資料表中
以檔名 ddbdoc_put.js
建立一個 Node.js 模組。請務必依前述的內容來設定軟體開發套件。若要存取 DynamoDB,請建立一個物件AWS.DynamoDB.DocumentClient
。建立 JSON 物件,其包含將項目寫入資料表所需的參數,在此範例中包括資料表名稱和要新增或更新,且內含雜湊索引鍵和值之項目的描述,以及要在項目上設定的屬性名稱和值。呼叫 DynamoDB 文件用戶端的put
方法。
// Load the AWS SDK for Node.js var AWS = require("aws-sdk"); // Set the region AWS.config.update({ region: "REGION" }); // Create DynamoDB document client var docClient = new AWS.DynamoDB.DocumentClient({ apiVersion: "2012-08-10" }); var params = { TableName: "TABLE", Item: { HASHKEY: VALUE, ATTRIBUTE_1: "STRING_VALUE", ATTRIBUTE_2: VALUE_2, }, }; docClient.put(params, function (err, data) { if (err) { console.log("Error", err); } else { console.log("Success", data); } });
若要執行範例,請在命令列中輸入以下內容。
node ddbdoc_put.js
您可以在這裡
在資料表中更新項目
以檔名 ddbdoc_update.js
建立一個 Node.js 模組。請務必依前述的內容來設定軟體開發套件。若要存取 DynamoDB,請建立一個物件AWS.DynamoDB.DocumentClient
。建立 JSON 物件,其包含將項目寫入資料表所需的參數,在此範例中包括資料表名稱、要更新的項目索引鍵,以及一組 UpdateExpressions
,其會定義要使用您在 ExpressionAttributeValues
參數中將值指派至其中的符記所更新的項目屬性。呼叫 DynamoDB 文件用戶端的update
方法。
// Load the AWS SDK for Node.js var AWS = require("aws-sdk"); // Set the region AWS.config.update({ region: "REGION" }); // Create DynamoDB document client var docClient = new AWS.DynamoDB.DocumentClient({ apiVersion: "2012-08-10" }); // Create variables to hold numeric key values var season = SEASON_NUMBER; var episode = EPISODES_NUMBER; var params = { TableName: "EPISODES_TABLE", Key: { Season: season, Episode: episode, }, UpdateExpression: "set Title = :t, Subtitle = :s", ExpressionAttributeValues: { ":t": "NEW_TITLE", ":s": "NEW_SUBTITLE", }, }; docClient.update(params, function (err, data) { if (err) { console.log("Error", err); } else { console.log("Success", data); } });
若要執行範例,請在命令列中輸入以下內容。
node ddbdoc_update.js
您可以在這裡
查詢資料表
此範例會查詢內含影片系列之相關集資訊的表格,會為超過 9 集且子標題中含有指定片語的第二季集傳回集標題和子標題。
以檔名 ddbdoc_query.js
建立一個 Node.js 模組。請務必依前述的內容來設定軟體開發套件。若要存取 DynamoDB,請建立一個物件AWS.DynamoDB.DocumentClient
。建立 JSON 物件,其包含查詢資料表所需的參數,在此範例中包括資料表名稱、查詢所需的 ExpressionAttributeValues
,以及使用這些值來定義查詢要傳回之項目的 KeyConditionExpression
。呼叫 DynamoDB 文件用戶端的query
方法。
// Load the AWS SDK for Node.js var AWS = require("aws-sdk"); // Set the region AWS.config.update({ region: "REGION" }); // Create DynamoDB document client var docClient = new AWS.DynamoDB.DocumentClient({ apiVersion: "2012-08-10" }); var params = { ExpressionAttributeValues: { ":s": 2, ":e": 9, ":topic": "PHRASE", }, KeyConditionExpression: "Season = :s and Episode > :e", FilterExpression: "contains (Subtitle, :topic)", TableName: "EPISODES_TABLE", }; docClient.query(params, function (err, data) { if (err) { console.log("Error", err); } else { console.log("Success", data.Items); } });
若要執行範例,請在命令列中輸入以下內容。
node ddbdoc_query.js
您可以在這裡
從資料表中刪除項目
以檔名 ddbdoc_delete.js
建立一個 Node.js 模組。請務必依前述的內容來設定軟體開發套件。若要存取 DynamoDB,請建立一個物件AWS.DynamoDB.DocumentClient
。建立 JSON 物件,其包含要在資料表中刪除項目所需的參數,在此範例中包括資料表名稱,以及您要刪除之項目的雜湊索引鍵名稱和值。呼叫 DynamoDB 文件用戶端的delete
方法。
// Load the AWS SDK for Node.js var AWS = require("aws-sdk"); // Set the region AWS.config.update({ region: "REGION" }); // Create DynamoDB document client var docClient = new AWS.DynamoDB.DocumentClient({ apiVersion: "2012-08-10" }); var params = { Key: { HASH_KEY: VALUE, }, TableName: "TABLE", }; docClient.delete(params, function (err, data) { if (err) { console.log("Error", err); } else { console.log("Success", data); } });
若要執行範例,請在命令列中輸入以下內容。
node ddbdoc_delete.js
您可以在這裡