シーケンス番号を失った場合、Azure Service Busで遅延メッセージをリカバリまたは削除する方法はありますか?シーケンス番号のないAzureサービスバスの遅延メッセージのクリーンアップ
シナリオ:メッセージを延期するのにBrokeredMessage.Defer()
を使用します。シーケンス番号を記録し、後でそれを使用してメッセージを取得する予定です。しかし何かがうまくいかない場合(バグのあるコードが導入されたとしましょう)、シーケンス番号が正しく記録されていない場合、メッセージが期限切れになるまでサービスバスにメッセージが残るようです。
これは、そのメッセージがキューまたはサブスクリプションの領域を占有し、そのキュー/サブスクリプションを完全に削除するのに足りない方法でその領域を回復する方法が見つからなかったためです。
"紛失した"遅延メッセージを受信または削除する方法はありますか?
はい!私は数ヶ月前にこれを実際に考え出しました。これをレスポンスとして追加していただきありがとうございます。これはまさに私が質問したときに私が探していたものです。 遅延はキューのメッセージの順序を変更しないため、遅延メッセージはキューの先頭に表示される傾向があります。 '.Peek()'や '' .PeekBatch() ''と呼ばれます。 – dshpak