CLI で AWS Kinesis Stream の中身をひたすら追ってくれる k-iter をつくってる
作ったもの
インストール方法
rustup.rs - The Rust toolchain installer
rustup を設定したうえで、下記コマンドを実行。
cargo install --git https://github.com/ROki1988/k-iter.git
もしくは Releases · ROki1988/k-iter より合致するものをダウンロードして展開。
使い方
k-iter -n event-stream -r ap-northeast-1
n
の後にストリーム名を、r
の後にリージョン名を入れればガンガン見てくれます。
今のところはコマンド実行以降に Put されたレコードを見ていくだけです。
動機
AWS Kinesis Stream はいったん投入してしまうと、中になにが入ってるか追うためにコードをかく必要があります。コンソールから見れないから。
Lambda の Blueprint に Kinesis のイベントを処理するぜー、てのもあるのですが、CLI に出したい、という欲がでます。
ですので、秘伝のたれのごとき Python コードを実行して CLI 上で出してました。
だがしかし、迂闊に brew upgrade
を実行した結果、Python の実行環境が再構築の憂き目にあい、こりゃシングルバイナリで動くやつ作らにゃきつい、となった次第です。
Rust 製なのは趣味です。
やってみたいこと/考えてること/もらえた意見
- 実行バイナリはよ
- Verbose モードとかほしい。Put された時間とかパーティションキーとか
- Iterator Type 対応したい。
TRIM_HORIZON
とか。- オプションに依存関係が出てくるので、ちょいと厄介
clap-rs の修行が必要そう
- オプションに依存関係が出てくるので、ちょいと厄介
--exec
とか作ってデータに処理かけたいjq
かけたりするイメージ。やりたくない?
- UTF-8 文字列決め打ちで出力してるけど、バイナリ表示の需要もありそう?
- Big とか Little の切り替えもいるのだろうか。
--print-format=string|byte-be|byte-le
てな感じ
- Big とか Little の切り替えもいるのだろうか。
- Shard 複数を同時に
- できっかなぁ…