当前位置: 首页 > 知识库问答 >
问题:

如何使用KCL C回放运动记录#

商璞
2023-03-14

我想按给定的时间跨度(或开始时间)重播Kinesis记录

用例:

在应用程序失败时,某些流记录可能会被视为已处理,但实际上尚未最终确定。i、 e.未保存在本地数据存储中。因此,在系统恢复时,我们希望在当前检查点的30分钟之前(或任何给定数量)开始处理记录。

我遇到了这个https://github.com/scopely/kinesis-vcr它将运动记录保存到S3中,然后重播S3中的事件

我想知道是否有可能在没有s3的情况下重播这些记录,因为Kinesis将记录保存24小时。24小时足够长了。

共有2个答案

西门胜涝
2023-03-14

您需要指定时间戳so的ShardIteratorType。

不过,我认为这可能是错误的方法。最好保留成功处理的记录的序列号,并让您的应用程序使用它来处理下一条记录(开始使用ShardIteratorType ofAT_SEQUENCE_NUMBER)。如果您像这样以编程方式构建它,您就无需返回x时间段。

鲁乐
2023-03-14

基于时间的迭代器使您的流易于处理应用程序重放。使用基于时间的迭代器,您可以从流中对应于时间戳的位置读取记录。

这使您能够在默认的24小时或延长的7天数据保留期内的任何时间窗口回放流。JavaStreams API有一个名为GetShardIterator的东西,您可以尝试在C#中找到类似的东西

 类似资料:
  • null null 所以我有这个标签,它当前是一个按钮。当我点击这个按钮时,它运行一个显示消息。 如何使此标记在页面打开或重新加载时自动运行。 null null

  • 我有点束缚...想要我的蛋糕,也吃了它。 我想记录我的应用程序抛出的所有异常。因此,如果有人点击了错误的URL,我想将堆栈跟踪记录到SLF4J。 所以你可能会想,‘嘿,这很简单,只需实现一个exceptionmapper并记录异常即可。“所以我做了: 如果您这样做,当有人键入错误的URL时,他们得到的不是404个错误,而是500个错误。有人猜测返回null会将异常传播到链处理程序中,但Jersey

  • 大家好,如果有人能帮忙的话——我正在尝试使用Cucumber标签运行一个特定的场景——这是我用来运行用Webdriver-Cucumber框架构建的测试的表达式- npx wdio运行wdio。conf.js——cucumber。tagExpression='@Tag 当我使用上面的命令时,什么也不会发生——我已经在功能级别定义了标记-“@tag”——所以我希望功能文件中的所有场景都会得到执行,但

  • wgcloud忘记密码了怎么重置 找回密码

  • Java16引入了记录,这有助于在编写携带不可变数据的类时减少样板代码。当我尝试将记录用作bean时,我得到以下错误消息: 如何将记录用作?

  • 问题内容: 使用tkinter,如何使用该方法使函数定期运行? 例如,我有一个仅在控制台中打印内容的函数: 如何使用该方法每秒调用一次函数? 问题答案: 注意:以下代码是在Python 3.5中编写和测试的。例如,在调用时,可能需要进行较小的更改。 该文档描述了该方法,如下所示: after(delay_ms,callback = None,* args) 注册在给定时间后调用的警报回调。 安排功