Kinesis Data Streamsにてきとーなデータをつっこんでみます。
手順
1. データストリームの作成
aws kinesis create-stream --stream-name kabegiwa-stream --shard-count 1
確認
aws kinesis list-streams { "StreamNames": [ "kabegiwa-stream" ] }
2. レコードをストリームにPUTする
AWSCLIv2の場合は--cli-binary-format raw-in-base64-out
オプションをつけないとInvalid base64になる。
aws kinesis put-record --stream-name kabegiwa-stream --partition-key 123 --data file://test.json --cli-binary-format raw-in-base64-out
3. シャードイテレータを取得する
aws kinesis get-shard-iterator --shard-id shardId-000000000000 --shard-iterator-type TRIM_HORIZON --stream-name kabegiwa-stream
出力されたShardIteratorの値をコピーしておく。
4. ストリームからレコードを取得する
さっきの手順で取得したシャードイテレータをわたしてget-recordしてあげる。
aws kinesis get-records --shard-iterator シャードイテレータ { "Records": [ { "SequenceNumber": "496073672870212182446181045", "ApproximateArrivalTimestamp": "2020-05-26T14:11:12.435000+00:00", "Data": "eyJuYW1lIjogImthYmVnaXdhIiwgImFnZSI6IDI4fQo=", "PartitionKey": "123" } ], "NextShardIterator": "AAAAAAAAAAGer6NTuyaqLamS1d57xdbhuhHoSEPN7h9f+LBKhMLWAiz6dZb1hzVc8BljWNZniBgo05xKmtQdrWBOA2O2C", "MillisBehindLatest": 0 }
5. 人間の目で確認する
Dataをbase64デコードしてあげる。
echo 'eyJuYW1lIjogImthYmVnaXdhIiwgImFnZSI6IDI4fQo=' | base64 -d {"name": "kabegiwa", "age": 28}