Cliente de documento do DynamoDB - AWS SDK para JavaScript

O Guia de referência da API do AWS SDK para JavaScript V3 descreve em detalhes todas as operações da API para o AWS SDK para JavaScript versão 3 (V3).

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Cliente de documento do DynamoDB

Uso básico do cliente de documento do DynamoDB na v3

  • Na v2, você pode usar a classe AWS.DynamoDB.DocumentClient para chamar as APIs do DynamoDB com tipos nativos de JavaScript, como Array, Number e Object. Isso simplifica o trabalho com itens no Amazon DynamoDB, abstraindo a noção de valores de atributo.

  • Na v3, o cliente @aws-sdk/lib-dynamodb equivalente está disponível. É semelhante aos clientes de serviço normais da v3 do SDK, com a diferença de que usa um cliente básico do DynamoDB no construtor.

Exemplo:

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

Valores Undefined no momento do marshalling

  • Na v2, os valores undefined nos objetos foram automaticamente omitidos durante o processo de mashalling para o DynamoDB.

  • Na v3, o comportamento padrão de marshalling em @aws-sdk/lib-dynamodb mudou: objetos com valores undefined não são mais omitidos. Para se alinhar à funcionalidade da v2, os desenvolvedores devem definir explicitamente removeUndefinedValues como true em marshallOptions do documento de cliente do DynamoDB.

Exemplo:

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. }; }) );

Consulte mais exemplos e configurações no pacote README.