DynamoDB ドキュメントクライアント - AWS SDK for JavaScript

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

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

DynamoDB ドキュメントクライアント

v3 での DynamoDB ドキュメントクライアントの基本的な使用法

  • v2 では、 AWS.DynamoDB.DocumentClient クラスを使用して、配列、数値、オブジェクトなどのネイティブ JavaScript 型で DynamoDB APIs を呼び出すことができます。したがって、属性値の概念を抽象化することで、Amazon DynamoDB の項目の操作を簡素化できます。

  • v3 では、同等の@aws-sdk/lib-dynamodbクライアントを使用できます。これは v3 SDK の通常のサービスクライアントに似ていますが、コンストラクタに基本的な DynamoDB クライアントを使用する点が異なります。

例:

import { DynamoDBClient } from "@aws-sdk/client-dynamodb"; // ES6 import // const { DynamoDBClient } = require("@aws-sdk/client-dynamodb"); // CommonJS import import { DynamoDBDocumentClient, PutCommand } from "@aws-sdk/lib-dynamodb"; // ES6 import // const { DynamoDBDocumentClient, PutCommand } = require("@aws-sdk/lib-dynamodb"); // CommonJS import // Bare-bones DynamoDB Client const client = new DynamoDBClient({}); // Bare-bones document client const ddbDocClient = DynamoDBDocumentClient.from(client); // client is DynamoDB client await ddbDocClient.send( new PutCommand({ TableName, Item: { id: "1", content: "content from DynamoDBDocumentClient", }, }) );

Undefined マーシャリング時の の値

  • v2 では、オブジェクトのundefined値は DynamoDB へのマーシャリングプロセス中に自動的に省略されました。

  • v3 では、 のデフォルトのマーシャリング動作が変更され@aws-sdk/lib-dynamodbました。undefined値を持つオブジェクトは省略されなくなりました。v2 の機能に合わせて、デベロッパーは DynamoDB ドキュメントクライアントの removeUndefinedValuestruemarshallOptionsを明示的に に設定する必要があります。

例:

import { DynamoDBClient } from "@aws-sdk/client-dynamodb"; import { DynamoDBDocumentClient, PutCommand } from "@aws-sdk/lib-dynamodb"; const client = new DynamoDBClient({}); // The DynamoDBDocumentClient is configured to handle undefined values properly const ddbDocClient = DynamoDBDocumentClient.from(client, { marshallOptions: { removeUndefinedValues: true } }); await ddbDocClient.send( new PutCommand({ TableName, Item: { id: "123", content: undefined // This value will be automatically omitted }; }) );

パッケージ README では、その他の例と設定を使用できます。