Amazon Kinesisのレコードにタイムスタンプ属性が追加されました

2015.09.24

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

ども、大瀧です。
昨日、Amazon Kinesisのアップデートがありレコードにタイムスタンプ属性が追加されました。

レコードのApproximateArrivalTimestamp属性にKinesisがレコードを受信したおおよその時刻がUNIXタイムスタンプの形式で含まれます。AWS CLIでGetRecordsをコールしてみました。

$ aws kinesis get-shard-iterator --stream-name OtakiTest --shard-id shardId-000000000000 --shard-iterator-type TRIM_HORIZON
XXXXXXXXXX
$ aws kinesis get-records --shard-iterator XXXXXXXXXX
{
    "Records": [
        {
            "Data": "dGVzdA==",
            "PartitionKey": "test",
            "ApproximateArrivalTimestamp": 1443022250.265,
            "SequenceNumber": "49554112327853074975925532336133655172802753794989359106"
        },
        {
            "Data": "dGVzdA==",
            "PartitionKey": "test",
            "ApproximateArrivalTimestamp": 1443022256.487,
            "SequenceNumber": "49554112327853074975925532336134864098622368836480925698"
        }
    ],
    "NextShardIterator": "AAAAAAAAAAFYkWnzAb12lz2WcLPd5Enq8N7RurYfnSoO1Iqe4CMIzP0eq+Op4fs+rHxJtd99YS3eTwsJZ2EREpRHAUKXJs83idFA9Tko1Rf9WHY1RZ9ChqEVw/0ltQ3JPevNGAX+llBJpN16WgX0Ot22wLAGu4GLF8kxUuVwAOItIkHi6DbEzhlBIfzhz8NjdZGOawi3Bs4=",
    "MillisBehindLatest": 3704000
}
$ date --date '@1443022256.487'
Wed Sep 23 15:30:56 UTC 2015
$

これまではレコードの属性として時刻に関する情報が無かったため、必要に応じてあらかじめレコードのデータにタイムスタンプを含める必要がありました。既定で属性としてタイムスタンプが入るようになったので、データの時刻に関する処理がより手軽に行えるようになりましたね。