我正在玩 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": []}
所以,我的问题是为什么我无法取回我的数据?
LATEST 分片迭代器将返回放入流中的所有记录after它被创造了。
因此,如果您想查看记录,则必须在创建迭代器后放置它们,然后请求 get-records。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)