問題タブ [amazon-kcl]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
amazon-web-services - AWS Kinesis KCL は、起動前に追加されたレコードをスキップします
と の両方を使用してKPL
、KCL
サービス間でデータを交換するようになりました。ただしconsumer service
、 がオフラインになると、 から送信されたすべてのデータKPL
が永久に失われます。そのため、稼働中に送信されたデータのチャンクのみを取得consumer service
し、shardConsumer
準備ができています。最後に消費されたポイントから開始するか、何らかの形で残ったデータを処理する必要があります。
これが私のShardProcessor
コードです:
構成コード:
amazon-dynamodb - Dynamodb ストリーム kinesis アダプターを使用する場合、Kinesis Client Library コンシューマーは開始位置として AT_TIMESTAMP をサポートしますか?
ドキュメントによると、Dynamodb ストリームと Kinesis データ ストリームの低レベル API は似ていますが、100% 同一ではありません。
Dynamodb ストリームの GetShardIteratorが少し異なることに気付きました。つまり、シャード イテレータ タイプとして AT_TIMESTAMP をサポートしていません。
したがって、アダプターの実装によって KCL コンシューマーの機能が制限され、AT_TIMESTAMP の開始位置が許可されなくなると思います。
私の推論は正しいですか?私はまだそれを実装していません。これがブロックポイントであると思われる場合は、別の解決策を探すことを好みます。
amazon-kinesis - KCL 2.x 拡張ファンアウト CloudWatch メトリクス (MillisBehindLatest と SubscribeToShardEvent.MillisBehindLatest)
拡張ファンアウト (KCL 2.x) アプリケーションで使用した場合のこれら 2 つのメトリックの違いを誰かが明確にできるかどうか疑問に思っていました。
KCL の「MillisBehindLatest」は、GetRecords 呼び出しで使用される反復子の経過時間を測定すると思います。ただし、KCL 2.x を使用する場合、レコードは代わりに HTTP/2 経由でコンシューマーにプッシュされるため、代わりに SubscribeToShardEvent.MillisBehindLatest を使用する必要があります。
実際には、KCL 2.x アプリケーションはこれらのメトリクスの両方を cloudwatch に送信します。イテレータによるポーリングが行われていない場合に MillisBehindLatest が発行される理由は不明です。