Bedal
A Lightweight, simple efficient interface for Amazon's DynamoDB for batch operations :
- Batch Write / Update
- Batch delete
Installation
From NPM:
npm install --save badel
From YARN:
yarn add badel
Basic Usage
First, init your DynamoDB connection and table specifications :
const { Bedal } = require("bedal");
const data = require("./data.json");
Bedal.init({
IdentityPoolId: "******",
DynamoDBRegion: "******",
Table: "*******",
Key: {
PrimaryKey: { name: "*****", type: "S" },
SortKey: { name: "******", type: "S" }
}
});
Argument | types | required | Description |
---|---|---|---|
IdentityPoolId | string | yes | an identity Pool Id which have the permissions to read/write/delete on the table you will use |
DynamoDBRegion | string | yes | the region where your table is https://docs.aws.amazon.com/general/latest/gr/rande.html |
Table | string | yes | your table name |
Key | Object | yes | describes your table key partition key and sort key if there is one. |
Add / Update Operation
Actually, we implement a sync like algorithm, witch will basically sync the data with DynamoDB, so if a row doesn't exist it will create it, in other case it will update it.
const onAdd = payload => {
console.log(payload);
};
Bedal.sync(data, {}, onAdd).then(data => console.log(data));
Delete Operation
const onDelete = payload => {
console.log(payload);
};
Bedal.delete({ database: "******" }, onDelete).then(data => {});
Comming Soon Features
- Batch Add / Update
- Batch delete
- test
- Performance and insight report
- Documentation
- CSV support for add operations
- Better Readme and fix the spelling errors :)
- Create a dedicated website
- Create a slack and provide free support
- Codes & Algorithmes optimisation
- Writing contributing guidelines
- Pull request template
- Issue templates
feel free to ask for any feature or report a bug buy adding a new issue add new issue
License
Copyright (c) 2020 Temkit Sidali.
Licensed under the MIT license.
Written with StackEdit.