From 5303293d3e4e6d485d26b19f47c147531821d803 Mon Sep 17 00:00:00 2001 From: Aidan Steele Date: Thu, 17 Jan 2019 16:44:22 +1100 Subject: [PATCH] Fleshed out readme --- README.md | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/README.md b/README.md index dc11bc1..a61da12 100644 --- a/README.md +++ b/README.md @@ -8,4 +8,35 @@ * Windows: `scoop bucket add dynamo https://github.com/glassechidna/dynamo.git; scoop install dynamo` * Otherwise get the latest build from the [Releases][releases] tab. +## Usage + +``` +dynamo table-name [partition key value [sort key value-or-expression]] +``` + +* If only a table name is specified, every row will be scanned. +* If a table name and partition key are provided, either: + * That item will be returned (for single-key schemas) + * All matching items will be returned (for partition+sort key schemas) +* If a table name, partition key and sort key are provided, only the matching + item will be returned. + +In place of a constant sort key, you can also type: + +* `> someval` - all items with sort key value greater than `someval` +* `>= someval` - as above, but "greater than or equal to" +* `<= someval` - as above, but "less than or equal to" +* `< someval` - as above, but "less than" +* `between val1 val2` - all items with sort keys between `val1` and `val2` +* `someval*` - all items with sort keys that begin with `someval` + +By default, only **10** items will be returned -- this is to avoid accidentally +downloading an entire table! This can be controlled with the `-n 30` flag. +Passing `-n 0` disables the limit. + +Finally, output is pretty-printed and colourised when executed directly. If +executed as part of a script (as determined by `isatty`), output will be +one-item-per-line in [JSON Lines][jsonlines] format. + [releases]: https://github.com/glassechidna/dynamo/releases +[jsonlines]: http://jsonlines.org/