ddb-calc
v1.0.5
Published
Calculate the size of DynamoDB item in DynamoDB JSON
Downloads
6
Maintainers
Readme
DynamoDB-ItemSizeCalculator
Utility tool to calculate the size of a DynamoDB items.
Utility tool to gain item size information for DynamoDB JSON items to understand capacity consumption and ensure items are under the 400KB DynamoDB limit.
DynamoDB SDK's can cater for both DDB-JSON or Native JSON. This package can be used to calculate both. By default it uses DDB-JSON but you can alter the methods to take Native JSON by passing a bool true
value as a parameter to the method:
CalculateSize(item, true)
Installation
OS X & Linux:
npm install ddb-calc --save
Usage example
Require
const CALC = require('ddb-calc')
Sample DynamoDB JSON item
const item = {
"Id": {
"N": "101"
},
"Title": {
"S": "Book 101 Title"
},
"ISBN": {
"S": "111-1111111111"
},
"Authors": {
"L": [
{
"S": "Author1"
}
]
},
"Price": {
"N": "2"
},
"Dimensions": {
"S": "8.5 x 11.0 x 0.5"
},
"PageCount": {
"N": "500"
},
"InPublication": {
"BOOL": true
},
"ProductCategory": {
"S": "Book"
}
}
Calculate Size
const size = CALC.CalculateSize(item);
{
rcu: 1,
wcu: 1,
size: 137
}
Understand if an item is under the 400Kb limit
const isValid = CALC.IsUnderLimit(item);
true
For more examples and usage, please refer to the Wiki.
Sample Native JSON item
const item = {
"Id": 101,
"Title": "Book 101 Title",
"ISBN": "111-1111111111",
"Authors": [
"Author1"
],
"Price": 2,
"Dimensions": "8.5 x 11.0 x 0.5",
"PageCount": 500,
"InPublication": true,
"ProductCategory": "Book"
}
Calculate Size
const size = CALC.CalculateSize(item, true);
{
rcu: 1,
wcu: 1,
size: 137
}
Understand if an item is under the 400Kb limit
const isValid = CALC.IsUnderLimit(item, true);
true
Release History
- 0.0.4
- Alter: Native JSON now supported by bool value:
CalculateSizeJson(item, true)
- Alter: Native JSON now supported by bool value:
- 0.0.3
- ADD: Added native JSON functions
CalculateSizeJson()
andIsUnderLimitJson()
- ADD: Added native JSON functions
- 0.0.2
- ADD: Added
marshalling
capability for native JSON
- ADD: Added
- 0.0.1
- The first proper release
- ADD: Added
isUnderLimit()
function
- 0.0.0
- Work in progress
Meta
Lee Hannigan – @leeroyhannigan – [email protected]
https://github.com/leeroyhannigan/DynamoDB-ItemSizeCalculator
Contributing
- Fork it (https://github.com/leeroyhannigan/DynamoDB-ItemSizeCalculator/fork)
- Create your feature branch (
git checkout -b feature/fooBar
) - Commit your changes (
git commit -am 'Add some fooBar'
) - Push to the branch (
git push origin feature/fooBar
) - Create a new Pull Request