【问题标题】:aws kinesis get-records returns empty arrayaws kinesis get-records 返回空数组
【发布时间】:2019-07-25 17:29:59
【问题描述】:

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

我先放一个样例记录

aws kinesis put-records --records "Data=Test data - hemant,PartitionKey=20150421" --stream-name mystream 

我回来了

{
"FailedRecordCount": 0,
"Records": [
    {
        "SequenceNumber": "49549975503580743304507290523786194552567002802960728066",
        "ShardId": "shardId-000000000000"
    }
]}

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

aws kinesis get-shard-iterator --stream-name cakestream --shard-id 0 --shard-iterator-type LATEST
{
"ShardIterator": "AAAAAAAAAAEna1yL0ccbircK95wu6WRfN7LamlaXL5bZ1GzaFrUcSU8S74o4Pus59Z0XmdaMamdvz4tv3qKuPxpomz/Eeg671gVUKNHUDruAKyA4pjWRP37VI1K5w/kLqpBo49YsCKHMxcduaN6GdeCXL4QMSgvH9Aqi7leRuIr2T1w4MeqjhlcM1iz8icaWGlHfUVCbgtY="}

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

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

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

【问题讨论】:

    标签: amazon-web-services


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      正如 Paedolos 提到的,LATEST 分片迭代器将仅返回创建迭代器后放置的记录。

      如果您想从头开始处理流中的所有记录,则需要创建 TRIM_HORIZON 分片迭代器。

      【讨论】:

        【解决方案3】:

        似乎有流名称不匹配。

        您已将记录放在 mystream 流中,但您正尝试从 cakestream 流中获取这些记录。

        【讨论】:

          【解决方案4】:

          这里的东西很少......

          • 不保证您会在第一次尝试中获得记录。您必须循环遍历迭代器(每次调用 getRecords() 都会返回下一个迭代器)才能最终获取所有数据。
          • 有多种方法可以获取第一个迭代器。您可能希望根据您的用例使用正确的

            有效值: AT_SEQUENCE_NUMBER | AFTER_SEQUENCE_NUMBER | TRIM_HORIZON |最新 | AT_TIMESTAMP

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2022-06-10
            • 1970-01-01
            相关资源
            最近更新 更多