こんにちは、中の人です。
前回の『Amazon KinesisからデータPut方法まとめ』でご紹介させていただいたように、KinesisにデータをPutする時にはthread処理などを追加してパフォーマンスを上げる必要があります。
今回はGetについての注意点を紹介させていただきます。
Kinesisは、Putが1000req/secに対してGetは5req/secとなっております。
ただし、Putと異なり一回で複数のデータを取得することが出来ます。特に指定しない場合は1回で2MBのデータを取得します。
取得方法は以下の4つです。
◯LATEST
最新データを取得できます。
1 |
kinesis_iterator = connection.get_shard_iterator(stream_name,shards,'LATEST') |
◯TRIM_HORIZON
一番古いレコードから取得できます。
1 |
kinesis_iterator = connection.get_shard_iterator(stream_name,shards,'TRIM_HORIZON') |
◯AT_SEQUENCE_NUMBER
指定したシーケンス番号から取得できます。
取得開始するシーケンス番号を指定する必要があります。
1 |
kinesis_iterator = connection.get_shard_iterator(stream_name,shards, 'AT_SEQUENCE_NUMBER', 'シーケンス番号') |
◯AFTER_SEQUENCE_NUMBER
指定したシーケンス番号の次から取得(前回の最後が取れればこれでOK)
1 |
kinesis_iterator = connection.get_shard_iterator(stream_name,shards,'AFTER_SEQUENCE_NUMBER', 'シーケンス番号') |
このように必要なデータに合わせて取得する方法を変えることが出来ます。
次回もお楽しみに!!