DynamoDB での単一項目の読み取りと書き込み - AWS SDK for JavaScript

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

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

DynamoDB での単一項目の読み取りと書き込み

JavaScript code example that applies to Node.js execution

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

  • DynamoDB テーブルに項目を追加する方法。

  • DynamoDB テーブルで項目を取得する方法。

  • DynamoDB テーブルで項目を削除する方法。

シナリオ

この例では、DynamoDB クライアントクラスのこれらのメソッドを使用して、一連の Node.js モジュールで、DynamoDB テーブル内の 1 つの項目を読み書きします。

前提条件タスク

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

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

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

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

重要

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

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

注記

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

項目を書き込みます

put-item.js というファイル名で Node.js モジュールを作成します。前述のように、必要なクライアントとパッケージのダウンロードに含めて、SDK が設定されていることを確認します。DynamoDB にアクセスするには、DynamoDBクライアントサービスオブジェクトを作成します。項目の追加に必要なパラメータを含む JSON オブジェクトを作成します。この例では、テーブルの名前と、設定する属性および各属性の値を定義するマップが含まれています。DynamoDB クライアントサービスオブジェクトの PutItemCommand メソッドを呼び出します。

import { PutItemCommand, DynamoDBClient } from "@aws-sdk/client-dynamodb"; const client = new DynamoDBClient({}); export const main = async () => { const command = new PutItemCommand({ TableName: "Cookies", // 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 Item: { Flavor: { S: "Chocolate Chip" }, Variants: { SS: ["White Chocolate Chip", "Chocolate Chunk"] }, }, }); const response = await client.send(command); console.log(response); return response; };

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

node put-item.js

このサンプルコードは、この GitHub にで見つけられます。

項目を更新する

update-item.js というファイル名で Node.js モジュールを作成します。前述のように、必要なクライアントとパッケージのダウンロードに含めて、SDK が設定されていることを確認します。DynamoDB にアクセスするには、DynamoDB クライアントサービスオブジェクトを作成します。項目の追加に必要なパラメータを含む JSON オブジェクトを作成します。この例では、テーブルの名前、更新するキー、新しい属性名と新しい属性ごとの値をマッピングする日付表現が含まれています。DynamoDB クライアントサービスオブジェクトの UpdateItemCommand メソッドを呼び出します。

import { UpdateItemCommand, DynamoDBClient } from "@aws-sdk/client-dynamodb"; const client = new DynamoDBClient({}); export const main = async () => { const command = new UpdateItemCommand({ TableName: "IceCreams", // 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 Key: { Flavor: { S: "Vanilla" }, }, UpdateExpression: "set HasChunks = :chunks", ExpressionAttributeValues: { ":chunks": { BOOL: "false" }, }, ReturnValues: "ALL_NEW", }); const response = await client.send(command); console.log(response); return response; };

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

node update-item.js

このサンプルコードは、この GitHub にで見つけられます。

項目の取得

get-item.js というファイル名で Node.js モジュールを作成します。前述のように、必要なクライアントとパッケージのダウンロードに含めて、SDK が設定されていることを確認します。DynamoDB にアクセスするには、DynamoDBクライアントサービスオブジェクトを作成します。取得する項目を特定するには、テーブルのその項目のプライマリキーの値を指定する必要があります。デフォルトでは、GetItemCommand メソッドは項目に定義されているすべての属性値を返します。使用可能なすべての属性値のサブセットのみを取得するには、プロジェクション式を指定します。

項目の取得に必要なパラメータを含む JSON オブジェクトを作成します。この例では、テーブルの名前、取得しているアイテムのキーの名前と値、取得する項目属性を識別するプロジェクション式が含まれています。DynamoDB クライアントサービスオブジェクトの GetItemCommand メソッドを呼び出します。

次のコード例では、パーティションキーとソートキーの両方ではなく、パーティションキーのみで構成されるプライマリキーを持つテーブルから項目を取得します。表にパーティションキーとソートキーで構成されるプライマリキーがある場合は、ソートキーの名前と属性も指定する必要があります。

import { GetItemCommand, DynamoDBClient } from "@aws-sdk/client-dynamodb"; const client = new DynamoDBClient({}); export const main = async () => { const command = new GetItemCommand({ TableName: "CafeTreats", // 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 Key: { TreatId: { N: "101" }, }, }); const response = await client.send(command); console.log(response); return response; };

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

node get-item.js

このサンプルコードは、この GitHub にで見つけられます。

項目の削除

delete-item.js というファイル名で Node.js モジュールを作成します。前述のように、必要なクライアントとパッケージのダウンロードに含めて、SDK が設定されていることを確認します。DynamoDB にアクセスするには、DynamoDBクライアントサービスオブジェクトを作成します。項目を削除するために必要なパラメータを含む JSON オブジェクトを作成します。この例では、テーブルの名前、および削除する項目のキーの名前と値の両方が含まれています。DynamoDB クライアントサービスオブジェクトの DeleteItemCommand メソッドを呼び出します。

import { DeleteItemCommand, DynamoDBClient } from "@aws-sdk/client-dynamodb"; const client = new DynamoDBClient({}); export const main = async () => { const command = new DeleteItemCommand({ TableName: "Drinks", // 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 Key: { Name: { S: "Pumpkin Spice Latte" }, }, }); const response = await client.send(command); console.log(response); return response; };

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

node delete-item.js

このサンプルコードは、この GitHub にで見つけられます。