aws kinesis get-records 返回空数组

Hem*_*ant 5 amazon-web-services

我在玩 Kinesis,我尝试了一个非常简单的例子

我先放了一个样本记录

aws kinesis put-records --records "Data=Test data - hemant,PartitionKey=20150421" --stream-name mystream 
Run Code Online (Sandbox Code Playgroud)

我回来了

{
"FailedRecordCount": 0,
"Records": [
    {
        "SequenceNumber": "49549975503580743304507290523786194552567002802960728066",
        "ShardId": "shardId-000000000000"
    }
]}
Run Code Online (Sandbox Code Playgroud)

所以 put 似乎奏效了。现在我试图检索这条记录,首先,通过获取分片迭代器,然后使用返回的分片迭代器调用 gert-record。get-shard-iterator 返回

aws kinesis get-shard-iterator --stream-name cakestream --shard-id 0 --shard-iterator-type LATEST
{
"ShardIterator": "AAAAAAAAAAEna1yL0ccbircK95wu6WRfN7LamlaXL5bZ1GzaFrUcSU8S74o4Pus59Z0XmdaMamdvz4tv3qKuPxpomz/Eeg671gVUKNHUDruAKyA4pjWRP37VI1K5w/kLqpBo49YsCKHMxcduaN6GdeCXL4QMSgvH9Aqi7leRuIr2T1w4MeqjhlcM1iz8icaWGlHfUVCbgtY="}
Run Code Online (Sandbox Code Playgroud)

现在我尝试使用该分片迭代器获取记录

aws kinesis get-records --shard-iterator "AAAAAAAAAAEna1yL0ccbircK95wu6WRfN7LamlaXL5bZ1GzaFrUcSU8S74o4Pus59Z0XmdaMamdvz4tv3qKuPxpomz/Eeg671gVUKNHUDruAKyA4pjWRP37VI1K5w/kLqpBo49YsCKHMxcduaN6GdeCXL4QMSgvH9Aqi7leRuIr2T1w4MeqjhlcM1iz8icaWGlHfUVCbgtY="{
"NextShardIterator": "AAAAAAAAAAE4lTq/jqanuj+xsULhl6QQeykzToObYDoaukearHkQfed/keYjgxzwfxkDXlBJBAOVLsk3pI9d0EwQWn5NmJ9poCL9M1wGDe2M42fgmp1EdK0WJGI1zG7TMi8m1bGQ6qDL05zf7gCtK5/xod6Vw/Gr98bsdQ8Ewp3U57FuHxZ29LUUbYp3AoN7CbUTD5rtqzU=",
"Records": []}
Run Code Online (Sandbox Code Playgroud)

所以,我的问题是为什么我没有取回我的数据?

小智 5

LATEST 分片迭代器将返回创建放入流中的所有记录。

因此,如果您想查看您的记录,则必须在创建迭代器后将它们放入,然后请求获取记录。