Le guide de référence de l'API AWS SDK pour JavaScript V3 décrit en détail toutes les opérations de l'API pour la AWS SDK pour JavaScript version 3 (V3).
Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Client de documents DynamoDB
Utilisation de base du client de documents DynamoDB dans la version 3
-
Dans la version 2, vous pouvez utiliser la
AWS.DynamoDB.DocumentClient
classe pour appeler APIs DynamoDB avec des types JavaScript natifs tels que Array, Number et Object. Il simplifie ainsi l'utilisation des éléments dans Amazon DynamoDB en éliminant la notion de valeurs d'attribut. -
Dans la version 3, le
@aws-sdk/lib-dynamodb
client équivalent est disponible. Il est similaire aux clients de service normaux du SDK v3, à la différence près qu'il prend un client DynamoDB de base dans son constructeur.
Exemple :
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
valeurs saisies lors du triage
-
Dans la version 2,
undefined
les valeurs des objets étaient automatiquement omises lors du processus de compilation vers DynamoDB. -
Dans la version 3, le comportement de triage par défaut
@aws-sdk/lib-dynamodb
a changé : les objets contenant desundefined
valeurs ne sont plus omis. Pour s'aligner sur les fonctionnalités de la version 2, les développeurs doivent définir explicitement leremoveUndefinedValues
totrue
dans lemarshallOptions
client de documents DynamoDB.
Exemple :
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.
};
})
);
D'autres exemples et configurations sont disponibles dans le package README.