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 ドキュメントクライアントのremoveUndefinedValues
true
でmarshallOptions
を明示的に に設定する必要があります。
例:
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