La AWS SDK per JavaScript V3 API Reference Guide descrive in dettaglio tutte le operazioni API per la AWS SDK per JavaScript versione 3 (V3).
Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Client per documenti DynamoDB
Utilizzo di base del client di documenti DynamoDB nella v3
-
Nella v2, puoi usare la
AWS.DynamoDB.DocumentClient
classe per chiamare APIs DynamoDB con tipi JavaScript nativi come Array, Number e Object. Semplifica quindi l'utilizzo degli elementi in Amazon DynamoDB astraendo la nozione di valori di attributo. -
Nella v3, è disponibile il client equivalente.
@aws-sdk/lib-dynamodb
È simile ai normali client di servizio di v3 SDK, con la differenza che nel costruttore richiede un client DynamoDB di base.
Esempio:
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
valori inseriti durante il marshalling
-
Nella v2,
undefined
i valori negli oggetti venivano automaticamente omessi durante il processo di marshalling in DynamoDB. -
Nella v3, il comportamento di marshalling predefinito in è cambiato: gli oggetti con valori non vengono più omessi
@aws-sdk/lib-dynamodb
.undefined
Per allinearsi alle funzionalità della v2, gli sviluppatori devono impostare esplicitamenteremoveUndefinedValues
totrue
nel DynamoDBmarshallOptions
Document Client.
Esempio:
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.
};
})
);
Altri esempi e configurazioni sono disponibili nel pacchetto README.