7

特定のタイプの EventHub をサブスクライブするとき。私のワーカーも古いメッセージを処理し続けていることがわかります。イベント ハブの古いメッセージを削除したり、目的のメッセージでパーティションのオフセット値を手動で変更したりする方法はありますか? 今のところ、ワーカーが再起動したときにワーカーは処理されたメッセージを追跡しません。チェックポイントは保存されず、古いメッセージは再処理されます...誰でもこの問題を取り除く方法を共有できますか?

前もってありがとう、Radha。

4

2 に答える 2

7

Azure Event Hub からメッセージを削除することはできませんが、いくつかの代替手段を提供します。

  1. メッセージの保持期間を短縮できます。デフォルトでは、メッセージを 1 ~ 7 日間保持するように保持期間を設定できます。関連するよりも多くのデータを保持している場合は、単純に短くしてください。
  2. Azure イベント ハブに入る各メッセージには、イベント ハブに入った時間を表す "EventEnqueuedUtcTime" という列/属性が追加されます。プログラムをイベント ハブにサブスクライブさせます。すべてのイベントがストリーミングされますが、指定された時間の後に EventEnqueuedUtcTime を持つメッセージのみを処理するように IF ステートメントでプログラムすることができます。測定時間。
  3. メッセージに独自のタイムスタンプを追加し、この新しい属性/列でステップ 2 を実行します。
于 2015-06-08T13:53:57.270 に答える
2

EventHub が、クラウドに保存されたイベントの永続的なストリームであると想像してください。読み取りを開始する場所の Cursor を維持する必要があります。他に方法はありません。これを行うには、チェックポイントが必要です。Messaging ユーザーのほとんどは、EventHubs のトピック セマンティクスと混同しています。この既存の質問は、その方向性を明確にすることができます。

イベント ハブの詳細...

于 2015-04-03T05:06:00.290 に答える