Klien dokumen DynamoDB - AWS SDK untuk JavaScript

Panduan Referensi API AWS SDK untuk JavaScript V3 menjelaskan secara rinci semua operasi API untuk AWS SDK untuk JavaScript versi 3 (V3).

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Klien dokumen DynamoDB

Penggunaan dasar klien dokumen DynamoDB di v3

  • Di v2, Anda dapat menggunakan AWS.DynamoDB.DocumentClientkelas untuk memanggil APIs DynamoDB dengan tipe JavaScript asli seperti Array, Number, dan Object. Dengan demikian menyederhanakan bekerja dengan item di Amazon DynamoDB dengan mengabstraksi gagasan nilai atribut.

  • Di v3, @aws-sdk/lib-dynamodbklien yang setara tersedia. Ini mirip dengan klien layanan normal dari v3 SDK, dengan perbedaan bahwa dibutuhkan klien DynamoDB dasar dalam konstruktornya.

Contoh:

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", }, }) );

Undefinednilai saat menyusun

  • Di v2, undefined nilai dalam objek secara otomatis dihilangkan selama proses marshalling ke DynamoDB.

  • Di v3, perilaku penyusunan default @aws-sdk/lib-dynamodb telah berubah: objek dengan undefined nilai tidak lagi dihilangkan. Untuk menyelaraskan dengan fungsionalitas v2, pengembang harus secara eksplisit mengatur removeUndefinedValues ke true dalam Klien Dokumen DynamoDB. marshallOptions

Contoh:

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. array: [1, undefined], // The undefined value will be automatically omitted. map: { key: undefined }, // The "key" will be automatically omitted. set: new Set([1, undefined]), // The undefined value will be automatically omitted. }; }) );

Lebih banyak contoh dan konfigurasi tersedia dalam paket README.