![Meet Socket at BlackHat and DEF CON in Las Vegas](https://cdn.sanity.io/images/cgdhsj6q/production/4a3876139ffd3878bb3e7800a14cf4044245dca7-1080x834.jpg?w=400&fit=max&auto=format)
Security News
Meet Socket at BlackHat and DEF CON in Las Vegas
Come meet the Socket team at BlackHat and DEF CON! We're sponsoring some fun networking events and we would love to see you there.
@aws-sdk/util-dynamodb
Advanced tools
Package description
The @aws-sdk/util-dynamodb package is part of the AWS SDK for JavaScript v3. It provides utility functions to serialize JavaScript objects into the DynamoDB record format and deserialize DynamoDB records into JavaScript objects. This is particularly useful when working with AWS DynamoDB, allowing developers to easily convert data between the formats used by their applications and the database.
Marshall
Converts a JavaScript object into a DynamoDB record format. Useful for preparing data to be sent to DynamoDB.
const { marshall } = require('@aws-sdk/util-dynamodb');
const item = { id: 1, content: 'Hello World' };
const marshalledItem = marshall(item);
console.log(marshalledItem);
Unmarshall
Converts a DynamoDB record into a JavaScript object. This is useful when retrieving data from DynamoDB and using it within a JavaScript application.
const { unmarshall } = require('@aws-sdk/util-dynamodb');
const dynamoRecord = { id: { N: '1' }, content: { S: 'Hello World' } };
const item = unmarshall(dynamoRecord);
console.log(item);
ConvertEmptyValues
Allows the conversion of empty values (like null) to a specific DynamoDB type when marshalling. This helps in maintaining data consistency when storing in DynamoDB.
const { marshall } = require('@aws-sdk/util-dynamodb');
const item = { id: 1, content: null };
const options = { convertEmptyValues: true };
const marshalledItem = marshall(item, options);
console.log(marshalledItem);
This package offers similar functionalities for attribute value wrapping and unwrapping for DynamoDB. It differs from @aws-sdk/util-dynamodb by being less integrated with the AWS SDK, potentially offering more flexibility in non-AWS SDK contexts.
This is an extension of the AWS SDK's DynamoDB Document Client in version 2. It simplifies working with DynamoDB items by automatically handling data type formatting. It's similar but tied to the older SDK version, whereas @aws-sdk/util-dynamodb is for version 3 of the AWS SDK.
Changelog
3.564.0 (2024-04-26)
Readme
This package provides utilities to be used with @aws-sdk/client-dynamodb
If you are looking for DynamoDB Document client, please check @aws-sdk/lib-dynamodb which automatically performs the necessary marshalling and unmarshalling.
const { DynamoDB } = require("@aws-sdk/client-dynamodb");
const { marshall } = require("@aws-sdk/util-dynamodb");
const client = new DynamoDB(clientParams);
const params = {
TableName: "Table",
Item: marshall({
HashKey: "hashKey",
NumAttribute: 1,
BoolAttribute: true,
ListAttribute: [1, "two", false],
MapAttribute: { foo: "bar" },
NullAttribute: null,
}),
};
await client.putItem(params);
const { DynamoDB } = require("@aws-sdk/client-dynamodb");
const { marshall, unmarshall } = require("@aws-sdk/util-dynamodb");
const client = new DynamoDB(clientParams);
const params = {
TableName: "Table",
Key: marshall({
HashKey: "hashKey",
}),
};
const { Item } = await client.getItem(params);
unmarshall(Item);
FAQs
[![NPM version](https://img.shields.io/npm/v/@aws-sdk/util-dynamodb/latest.svg)](https://www.npmjs.com/package/@aws-sdk/util-dynamodb) [![NPM downloads](https://img.shields.io/npm/dm/@aws-sdk/util-dynamodb.svg)](https://www.npmjs.com/package/@aws-sdk/util
We found that @aws-sdk/util-dynamodb demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 5 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Come meet the Socket team at BlackHat and DEF CON! We're sponsoring some fun networking events and we would love to see you there.
Security News
Learn how Socket's 'Non-Existent Author' alert helps safeguard your dependencies by identifying npm packages published by deleted accounts. This is one of the fastest ways to determine if a package may be abandoned.
Security News
In July, the Python Software Foundation mounted a quick response to address a leaked GitHub token, elected new board members, and added more members to the team supporting PSF and PyPI infrastructure.