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.DocumentClientpara 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-dynamodbequivalente 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
undefinednos objetos foram automaticamente omitidos durante o processo de mashalling para o DynamoDB. -
Na v3, o comportamento padrão de marshalling em
@aws-sdk/lib-dynamodbmudou: objetos com valoresundefinednão são mais omitidos. Para se alinhar à funcionalidade da v2, os desenvolvedores devem definir explicitamenteremoveUndefinedValuescomotrueemmarshallOptionsdo 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