Skip to main content

Dyn CLI - DynamoDB Command Line Interface

Project description

# dyn-cli

Command Line Interface for Dynamo DB

Content:

* [Installation](#installation)
* [Usage](#usage)
* [Commands](#commands)
+ [List tables](#list-tables)
+ [Create table](#create-table)
+ [Update table](#update-table)
+ [Delete table](#delete-table)
* [Examples](#examples)

## Installation

The easiest way to install dyn-cli is to use [pip](https://pip.pypa.io//en/latest/):

```bash
$ pip install dyncli
```

## Usage

Synopsis:

```bash
$ dyn [OPTIONS] COMMAND [ARGS]...
```

List of commands:

* [List tables](#list-tables)
* [Create table](#create-table)
* [Update table](#update-table)
* [Delete table](#delete-table)

### Options

You can configure your AWS credentials via options. The following table shows these options.

| Option | Description |
|-------------------------------------|------------------------------------------------------------------------------|
| `-a`, `--access-key AWS_ACCESS_KEY` | AWS Access Key ID. (default: local) |
| `-s`, `--secret-key AWS_SECRET_KEY` | AWS Secret Key. (default: local) |
| `-r`, `--region AWS_REGION` | AWS Region. (default: us-east-1) |
| `-n`, `--no-local` | Disable local endpoint_url set up to http://localhost:8000. (default: false) |
| `-h`, `--help` | Show help message. |

## Commands

### List tables

List all tables of DynamoDB.

```bash
$ dyn list_tables
```

### Create table

Creates a DynamoDB table with `TABLE` name and attributes defined in `ATTRIBUTE`.

```bash
$ dyn create_table [OPTIONS] TABLE ATTRIBUTE [ATTRIBUTE]...
```

#### Options

| Option | Description |
|-------------------------------------|------------------------------------------------------------------------------|
| `-r`, `--read-units INTEGER` | Read capacity units. (default: 1) |
| `-w`, `--write-units INTEGER` | Write capacity units. (default: 1) |

#### Atrributes

The `ATTRIBUTE` argument can be defined like: `name:type[:pk][:sk]`

* _name_ - name of attribute.
* _type_ - type of attribute that can be:
+ `s` - string
+ `n` - number
+ `b` - binary
* `pk` - first attribute of primary key (partition key - HASH)
* `sk` - second attribute of primary key (sort key - RANGE)

### Update table

Modifies a DynamoDB table with TABLE name.

```bash
$ dyn update_table [OPTIONS] TABLE
```

#### Options

| Option | Description |
|-------------------------------------|------------------------------------------------------------------------------|
| `-r`, `--read-units INTEGER` | Read capacity units. (default: 1) |
| `-w`, `--write-units INTEGER` | Write capacity units. (default: 1) |

### Delete table

Deletes a table of DynamoDB.

```bash
$ dyn delete_table TABLE
```

## Examples

Listing all tables:

```bash
$ dyn list_tables
```

```json
{
"TableNames": [
"Movies",
"Music"
]
}
```

Creating Music table:

```bash
$ dyn create_table Music Artist:s:pk SongTitle:s:sk
```

```json
{
"TableDescription": {
"AttributeDefinitions": [
{
"AttributeName": "Artist",
"AttributeType": "S"
},
{
"AttributeName": "SongTitle",
"AttributeType": "S"
}
],
"CreationDateTime": "2017-07-02T23:19:52.932000-03:00",
"ItemCount": 0,
"KeySchema": [
{
"AttributeName": "Artist",
"KeyType": "HASH"
},
{
"AttributeName": "SongTitle",
"KeyType": "RANGE"
}
],
"ProvisionedThroughput": {
"LastDecreaseDateTime": "1969-12-31T21:00:00-03:00",
"LastIncreaseDateTime": "1969-12-31T21:00:00-03:00",
"NumberOfDecreasesToday": 0,
"ReadCapacityUnits": 1,
"WriteCapacityUnits": 1
},
"TableArn": "arn:aws:dynamodb:ddblocal:000000000000:table/Music",
"TableName": "Music",
"TableSizeBytes": 0,
"TableStatus": "ACTIVE"
}
}
```

Updating Music table:

```bash
$ dyn update_table Music -r 10 -w 10
```

```javascript
{
"TableDescription": {
"AttributeDefinitions": [
{
"AttributeName": "Artist",
"AttributeType": "S"
},
{
"AttributeName": "SongTitle",
"AttributeType": "S"
}
],
"CreationDateTime": "2017-07-02T23:19:52.932000-03:00",
"ItemCount": 0,
"KeySchema": [
{
"AttributeName": "Artist",
"KeyType": "HASH"
},
{
"AttributeName": "SongTitle",
"KeyType": "RANGE"
}
],
"ProvisionedThroughput": {
"LastDecreaseDateTime": "1969-12-31T21:00:00-03:00",
"LastIncreaseDateTime": "1969-12-31T21:00:00-03:00",
"NumberOfDecreasesToday": 0,
"ReadCapacityUnits": 10,
"WriteCapacityUnits": 10
},
"TableArn": "arn:aws:dynamodb:ddblocal:000000000000:table/Music",
"TableName": "Music",
"TableSizeBytes": 0,
"TableStatus": "ACTIVE"
}
}
```

Deleting Music table:

```bash
$ dyn delete_table Music
```

```json
{
"TableDescription": {
"ItemCount": 0,
"ProvisionedThroughput": {
"LastDecreaseDateTime": "1969-12-31T21:00:00-03:00",
"LastIncreaseDateTime": "1969-12-31T21:00:00-03:00",
"NumberOfDecreasesToday": 0,
"ReadCapacityUnits": 10,
"WriteCapacityUnits": 10
},
"TableArn": "arn:aws:dynamodb:ddblocal:000000000000:table/Music",
"TableName": "Music",
"TableSizeBytes": 0,
"TableStatus": "DELETING"
}
}
```


Project details


Release history Release notifications

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
dyn_cli-0.1.0-py2.py3-none-any.whl (8.5 kB) Copy SHA256 hash SHA256 Wheel py2.py3
dyn-cli-0.1.0.tar.gz (5.6 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page