Kinesis Firehose putRecord 与 putRecordBatch

mat*_*516 5 amazon-kinesis-firehose

我正在使用 Kinesis Firehose 的 Java API,并尽可能利用 putRecordBatch()。但是,在我的应用程序中,我有时只发送一条记录,而无法等待更多记录或将其缓存在内存中。

但是,我的代码比我想要的要复杂一些,因为我正在跟踪每个操作的成功/失败计数。putRecordBatch 返回一个 int 值,表示提交发送的记录集失败的次数,例如 4 次失败中的 2 次,而 putRecord() 要么成功,要么抛出异常。

我更愿意在任何地方使用 putRecordBatch() ,但文档说只有在您有多个记录要提交时才使用它。

这可能有点遥远,但是这里有人有这个 API 的经验,特别是这些方法吗?你是否做了我正在考虑的事情,只是在任何地方都使用了 putRecordBatch(),即使记录集为 1?

diz*_*zyf 0

我已经完全按照您的描述进行了设置:一种通常发送批量调用但有时仅使用 putRecordBatch() 发送一条记录的情况。根据我对文档的理解,他们似乎只是澄清,如果您只想发送一条记录,则应该使用 putRecord,而不是实际强制这样做。从性能优势来看,我只使用 putRecordBatch() \xe2\x80\x94 ,如果您需要发送 1 条记录,它就可以正常工作,顺便说一句 \xe2\x80\x94\xc2\xa0 我相信您应该可以对所有提交使用 putRecordBatch() 。

\n