# bedal

> Amazon Web Services AWS DynamoDB Batch operations

Latest version **0.0.1-beta.5** (published 2020-03-31) · MIT license · 0 weekly downloads

## Install

```sh
npm install bedal
pnpm add bedal
yarn add bedal
bun add bedal
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.0.1-beta.5 |
| Published | 2020-03-31 |
| First published | 2020-03-30 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 1 |
| Unpacked size | 32.4 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 0 |
| Author | Sidali Temkit |
| Maintainers | temkit |
| Keywords | Dynamodb, AWS DynamoDB, Batch, Sync, Big Data, Node |

## Links

- npm: https://www.npmjs.com/package/bedal
- Repository: https://github.com/Temkit/bedal
- Issues: https://github.com/Temkit/bedal/issues
- npm.io page: https://npm.io/package/bedal

## Dependencies (1)

- [md5](https://npm.io/package/md5.md) ^2.2.1

## Alternatives

- [@opentelemetry/exporter-zipkin](https://npm.io/package/@opentelemetry/exporter-zipkin.md) — 14.8M weekly downloads
- [pusher-js](https://npm.io/package/pusher-js.md) — 2.0M weekly downloads
- [browserify](https://npm.io/package/browserify.md) — 1.7M weekly downloads
- [sqs-consumer](https://npm.io/package/sqs-consumer.md) — 1.7M weekly downloads
- [@sanity/eventsource](https://npm.io/package/@sanity/eventsource.md) — 930.8K weekly downloads

## Recent versions

- 0.0.1-beta.5 (latest) — 2020-03-31
- 0.0.1-beta.4 — 2020-03-31
- 0.0.1-beta.3 — 2020-03-30
- 0.0.1-beta.2 — 2020-03-30

## README

# Bedal

A Lightweight, simple efficient interface for Amazon's [DynamoDB](http://aws.amazon.com/dynamodb/) for batch operations :

1.  Batch Write / Update
2.  Batch delete

[![Edit gallant-bhabha-xofi6](https://codesandbox.io/static/img/play-codesandbox.svg)](https://codesandbox.io/s/gallant-bhabha-xofi6?fontsize=14&hidenavigation=1&theme=dark)

## [](https://github.com/pynamodb/PynamoDB#installation)Installation

From NPM:

    npm  install --save badel

From YARN:

    yarn  add badel

## [](https://github.com/pynamodb/PynamoDB#basic-usage)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](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

- [x] Batch Add / Update
- [x] 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 ](https://github.com/Temkit/react-hook-tree/issues/new)

### License

Copyright (c) 2020 **Temkit Sidali**.

Licensed under the MIT license.

> Written with [StackEdit](https://stackedit.io/).

---
_Source: https://npm.io/package/bedal · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
