DynamoDB のバッチの項目の読み取りと書き込み - AWS SDK for JavaScript

AWS SDK for JavaScript V3 APIリファレンスガイドでは、バージョン 3 (V3) のすべてのAPIオペレーションについて詳しく説明しています AWS SDK for JavaScript 。

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

DynamoDB のバッチの項目の読み取りと書き込み

JavaScript code example that applies to Node.js execution

この Node.js コード例は以下を示しています。

  • DynamoDB テーブルの項目のバッチを読み書きする方法。

シナリオ

この例では、一連のNode.jsモジュールを使用して、アイテムのバッチをDynamoDB表に配置し、アイテムのバッチを読み取ります。このコードは、 SDKの JavaScript を使用して、DynamoDB クライアントクラスの次のメソッドを使用してバッチ読み取りおよび書き込みオペレーションを実行します。

前提条件タスク

この例をセットアップして実行するには、まず次のタスクを完了します。

  • これらのノード TypeScript 例を実行するようにプロジェクト環境を設定し、必要な AWS SDK for JavaScript モジュールとサードパーティモジュールをインストールします。「」の指示に従ってください GitHub

  • ユーザーの認証情報を使用して、共有設定ファイルを作成します。共有認証情報ファイルの提供の詳細については、「」および「ツールリファレンスガイド」の「共有設定ファイルと認証情報ファイル」を参照してください。 AWS SDKs

  • 項目にアクセスできる DynamoDB テーブルを作成します。DynamoDB テーブルを作成する方法の詳細については、DynamoDB の表の作成と使用 を参照してください。

重要

これらの例では ECMAScript6 () を使用していますES6。これには Node.js バージョン 13.x 以降が必要です。Node.js の最新バージョンをダウンロードしてインストールするには、「Node.js ダウンロード」を参照してください。

ただし、CommonJS 構文を使用したい場合は、「JavaScript ES6/CommonJS 構文」を参照してください。

注記

これらの例で使用されているデータ型の詳細については、「Amazon DynamoDB でサポートされるデータ型と命名規則」を参照してください。

項目の一括読み取り

batch-get-item.js というファイル名で Node.js モジュールを作成します。必要なクライアントとパッケージのダウンロードを含め、前述のSDKように を設定してください。DynamoDB にアクセスするには、DynamoDB クライアントサービスオブジェクトを作成します。項目のバッチを取得するために必要なパラメータを含むJSONオブジェクトを作成します。この例には、読み取る 1 つ以上のテーブルの名前、各テーブルで読み取るキーの値、および返す属性を指定する射影式が含まれます。DynamoDB サービスオブジェクトの BatchGetItemCommand メソッドを呼び出します。

import { BatchGetItemCommand, DynamoDBClient } from "@aws-sdk/client-dynamodb"; const client = new DynamoDBClient({}); export const main = async () => { const command = new BatchGetItemCommand({ RequestItems: { // Each key in this object is the name of a table. This example refers // to a PageAnalytics table. PageAnalytics: { // Each entry in Keys is an object that specifies a primary key. Keys: [ { // "PageName" is the partition key (simple primary key). // "S" specifies a string as the data type for the value "Home". // For more information about data types, // see https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.NamingRulesDataTypes.html#HowItWorks.DataTypes and // https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.LowLevelAPI.html#Programming.LowLevelAPI.DataTypeDescriptors PageName: { S: "Home" }, }, { PageName: { S: "About" }, }, ], // Only return the "PageName" and "PageViews" attributes. ProjectionExpression: "PageName, PageViews", }, }, }); const response = await client.send(command); console.log(response.Responses["PageAnalytics"]); return response; };

この例を実行するには、コマンドプロンプトで以下を入力します。

node batch-get-item.js

このサンプルコードは、 にあります GitHub

項目の一括書き込み

batch-write-item.js というファイル名で Node.js モジュールを作成します。必要なクライアントとパッケージのダウンロードを含め、前述のSDKように を設定してください。DynamoDB にアクセスするには、DynamoDB クライアントサービスオブジェクトを作成します。項目のバッチを取得するために必要なパラメータを含むJSONオブジェクトを作成します。この例には、項目を書き込むテーブル、各項目に書き込むキー、および属性とその値が含まれます。DynamoDB サービスオブジェクトの BatchWriteItemCommand メソッドを呼び出します。

import { BatchWriteItemCommand, DynamoDBClient, } from "@aws-sdk/client-dynamodb"; const client = new DynamoDBClient({}); export const main = async () => { const command = new BatchWriteItemCommand({ RequestItems: { // Each key in this object is the name of a table. This example refers // to a Coffees table. Coffees: [ // Each entry in Coffees is an object that defines either a PutRequest or DeleteRequest. { // Each PutRequest object defines one item to be inserted into the table. PutRequest: { // The keys of Item are attribute names. Each attribute value is an object with a data type and value. // For more information about data types, // see https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.NamingRulesDataTypes.html#HowItWorks.DataTypes Item: { Name: { S: "Donkey Kick" }, Process: { S: "Wet-Hulled" }, Flavors: { SS: ["Earth", "Syrup", "Spice"] }, }, }, }, { PutRequest: { Item: { Name: { S: "Flora Ethiopia" }, Process: { S: "Washed" }, Flavors: { SS: ["Stone Fruit", "Toasted Almond", "Delicate"] }, }, }, }, ], }, }); const response = await client.send(command); console.log(response); return response; };

この例を実行するには、コマンドプロンプトで以下を入力します。

node batch-write-item.js

このサンプルコードは、 にあります GitHub