4

私は Kinesis Firehose の Java API を使用しており、可能な場合は putRecordBatch() を活用しています。ただし、私のアプリケーションでは、1 つのレコードしか送信しないことがあり、それ以上のレコードを待機したり、メモリにキャッシュしたりする余裕がありません。

ただし、各操作の成功/失敗数を追跡しているため、コードは思ったよりも少し複雑です。putRecordBatch は、送信されたレコードのセットから失敗した送信の数を表す int を返します。たとえば、putRecord() は成功するか、例外をスローします。

どこでも putRecordBatch() を使用したいのですが、ドキュメントには、送信するレコードが複数ある場合にのみ使用するように書かれています。

これは少し大雑把かもしれませんが、この API、具体的にはこれらのメソッドの経験がある人はいますか? 私が考えていることを実行し、レコード セットが 1 の場合でも putRecordBatch() をどこでも使用しましたか?

4

1 に答える 1

0

私はあなたが説明していることを正確に設定しました: 通常はバッチ呼び出しを送信しますが、putRecordBatch() を使用して 1 つのレコードのみを送信する場合があります。私のドキュメントの理解から、1 つのレコードだけを送信したい場合は、実際にそれを義務付けるのではなく、putRecord を使用する必要があることを明確にしているに過ぎないようです。putRecordBatch() のみを使用した場合のパフォーマンス上の利点 (ちなみに、1 つのレコードを送信する必要がある場合は問題なく動作します) から、すべての送信に putRecordBatch() を使用しても問題ないと確信しています。

于 2017-01-04T23:10:42.483 に答える