Kinesis - aidarko/dev-notes GitHub Wiki
Get message
=======================
==== GET MESSAGE ====
=======================
SHARD_ITERATOR=$(aws kinesis --profile kinesis-test --region=eu-west-1 get-shard-iterator --shard-id shardId-000000000000 --shard-iterator-type TRIM_HORIZON --stream-name stream-name-ingest --query 'ShardIterator' --no-verify-ssl | tr -d \")
AWS_RECORD=$(aws --profile kinesis-test --region=eu-west-1 kinesis get-records --shard-iterator ${SHARD_ITERATOR} --no-verify-ssl)
echo ${AWS_RECORD} | grep Data
{"date":"value-248-2019-11-20T09:59:58.747Z","randomNumber":00000,"timestamp":"000"}
Put message
=======================
==== PUT MESSAGE ====
=======================
aws --profile kinesis-test --region=eu-west-1 kinesis \
put-record \
--data "{test-yo}" \
--stream-name stream-name-ingest \
--partition-key whatever
Iterate shard
=======================
==== ITERATE SHARD ====
=======================
# encrypted
SHARD_ITERATOR=$(aws kinesis --profile kinesis-test --region=eu-west-1 get-shard-iterator --shard-id shardId-000000000000 --shard-iterator-type TRIM_HORIZON --stream-name stream-name-ingest --query 'ShardIterator' | tr -d \")
while [ true ]
do
AWS_RECORD=$(aws --profile kinesis-test --region=eu-west-1 kinesis get-records --shard-iterator ${SHARD_ITERATOR})
DATA=$(echo ${AWS_RECORD} | grep Data)
echo ${DATA} >> data_stream.txt
echo "" >> data_stream.txt
SHARD_ITERATOR=$(echo ${AWS_RECORD} | jq -r '.NextShardIterator')
done
# decrypted
SHARD_ITERATOR=$(aws kinesis --profile kinesis-test --region=eu-west-1 get-shard-iterator --shard-id shardId-000000000000 --shard-iterator-type TRIM_HORIZON --stream-name stream-name-ingest --query 'ShardIterator' | tr -d \")
while [ true ]
do
AWS_RECORD=$(aws --profile kinesis-test --region=eu-west-1 kinesis get-records --shard-iterator ${SHARD_ITERATOR})
DATA=$(echo ${AWS_RECORD} | grep Data)
echo ${DATA} | while read line ; do
echo "$line" | sed 's/"Data": "//g' | sed 's/",//g' | xargs | base64 --decode >> data_stream.txt
echo "" >> data_stream.txt
done
SHARD_ITERATOR=$(echo ${AWS_RECORD} | jq -r '.NextShardIterator')
done
with time
#set time
FROM_TIMESTAMP=$(date -v -24H +%Y-%m-%dT%H:%M:%S.400-00:00)
# list shards
aws kinesis --profile test --region=eu-west-1 list-shards --stream-name stream-name | grep \"ShardId\":
# set shard iterator
SHARD_ITERATOR=$(aws kinesis --profile test --region=eu-west-1 get-shard-iterator --shard-id shardId-000000000002 --shard-iterator-type AT_TIMESTAMP --timestamp ${FROM_TIMESTAMP} --stream-name stream-name --query 'ShardIterator' | tr -d \")
# write to file data_stream.txt
while [ true ]
do
AWS_RECORD=$(aws --profile test --region=eu-west-1 kinesis get-records --shard-iterator ${SHARD_ITERATOR})
DATA=$(echo ${AWS_RECORD} | grep Data)
echo ${DATA} | while read line ; do
echo "$line" | sed 's/"Data": "//g' | sed 's/",//g' | xargs | base64 --decode >> data_stream2.txt
echo "" >> data_stream.txt
done
SHARD_ITERATOR=$(echo ${AWS_RECORD} | jq -r '.NextShardIterator')
done