# arc-plugin-tables-throughput

> Architect plugin to setup provisioned billing mode and reading/writing throughput for DynamoDB tables.

Latest version **0.1.0** (published 2023-04-02) · Apache-2.0 license · 0 weekly downloads

## Install

```sh
npm install arc-plugin-tables-throughput
pnpm add arc-plugin-tables-throughput
yarn add arc-plugin-tables-throughput
bun add arc-plugin-tables-throughput
```

## 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.1.0 |
| Published | 2023-04-02 |
| First published | 2023-04-02 |
| Weekly downloads | 0 |
| License | Apache-2.0 |
| TypeScript types | none |
| Module format | CommonJS |
| Node | >=16 |
| Dependencies | 0 |
| Unpacked size | 15.7 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 1 |
| Author | Rafael Sacramento |
| Maintainers | rafaelsacramento |
| Keywords | architect, arc, plugin, dynamodb, capacity, rcu, wcu, throughput, tables |

## Links

- npm: https://www.npmjs.com/package/arc-plugin-tables-throughput
- Repository: https://github.com/rsacramento/arc-plugin-tables-throughput
- Issues: https://github.com/rsacramento/arc-plugin-tables-throughput/issues
- npm.io page: https://npm.io/package/arc-plugin-tables-throughput

## Alternatives

- [lodash.startswith](https://npm.io/package/lodash.startswith.md) — 769.7K weekly downloads
- [@tarojs/service](https://npm.io/package/@tarojs/service.md) — 33.9K weekly downloads
- [io.extendreality.tilia.indicators.spatialtargets.unity](https://npm.io/package/io.extendreality.tilia.indicators.spatialtargets.unity.md) — 131 weekly downloads
- [@rtarojs/taro](https://npm.io/package/@rtarojs/taro.md) — 90 weekly downloads
- [node-branch-io](https://npm.io/package/node-branch-io.md) — 50 weekly downloads

## Recent versions

- 0.1.0 (latest) — 2023-04-02

## README

# [Architect][arc] plugin `@tables-throughput`

Enables Provisioned billing mode and defines reading and writing throughput for [DynamoDB][ddb] tables.

## Recommended Resources

[DynamoDB][ddb] is a powerful database, though different from both SQL and NoSQL databases. It is highly recommended to dig into Amazon's resources to familiarize yourself with it:

- [DynamoDB Core Components (start here!)][core]
- [Amazon's full DynamoDB documentation][ddb]
- [Managing settings on DynamoDB provisioned capacity tables][throughput]
- [Pricing for Provisioned Capacity][pricing]

## Syntax

- `@tables-throughput` is a feature subset of [`@tables`][tables]; as such, the names of your declared tables must match those of your [`@tables`][tables]
- The basic syntax for defining `@tables-throughput` specifies the base table name followed by `reading` and `writing` throughput
- `reading` throughtput is expressed as an integer, in Reading Capacity Unities ([RCUs][pricing])
- `writing` throughtput is expressed as an integer, in Wrigint Capacity Unities ([WCUs][pricing])
- When defined, they set the table's billing mode to provisioned (BillingMode: PROVISIONED) and specify its throughput
- By default, all [`@tables`][tables] are billed per request (BillingMode: PAY_PER_REQUEST), so not defining this plugin for a table leaves the billing mode as pay-per-request

## Example

This `app.arc` file defines two database tables, one billed per request (pets) and the other (people), provisioned:

```arc
@app
testapp

@tables
people
  pplID *String

pets
  petId *String

@tables-throughput
people
  reading 10
  writing 5
```

[arc]: https://arc.codes
[tables]: https://arc.codes/docs/en/reference/project-manifest/tables
[core]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.CoreComponents.html
[ddb]: https://aws.amazon.com/documentation/dynamodb/
[throughput]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughput.html
[pricing]: https://aws.amazon.com/dynamodb/pricing/provisioned/

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