0

私の現在のプロジェクトでは、カスタム再試行ポリシーのトピックのサブスクリプションでフィルター/ルールを使用するという考えがあります。

Azure Function のトピックからメッセージを取得し、それをリモート サービスに送信しようとしています。サービスが Timeout 例外をスローした場合、PostponeUntil という名前のカスタム プロパティを特定の日時 (たとえば、1 時間単位) でメッセージに追加し、それをトピックに再度追加してから、サブスクリプションのルールを使用して、再試行の時間になるまで、このメッセージを除外してください。次のような SqlFilter を使用することは可能ですか:

 var filter = new Microsoft.Azure.ServiceBus.SqlFilter("GETDATE() = PostponedUntilDateTime");

そうでない場合、私が持っているシナリオの代替手段は何ですか?

4

1 に答える 1

1

メッセージを Service Bus キューおよびトピックに時間遅延で送信するには、スケジュールされたメッセージングを利用する必要があります。

特定の時間にメッセージをトピックにスケジュールして、指定した時間にのみトピックにエンキューされるようにすることができます。

ScheduleMessageAsyncそれを達成するために使用する必要がある方法です。

スケジュールされたメッセージの詳細については、こちらを参照してください。

于 2018-10-17T14:10:14.607 に答える