9

Azure WebJobs SDK の有害メッセージ処理はどのように機能しますServiceBusTriggerか? 「x」回以上デキューされた Service Bus キュー メッセージを別の ServiceBus (または) Storage キューにプッシュしようとしています。

こことここのオンライン ドキュメント、およびここの SDK サンプルには、ServiceBusTrigger に対する有害なメッセージの処理方法の例がありませんこの作業は進行中ですか?

パラメータを使用してカスタム ポイズン メッセージ処理を実装しようとしdequeueCountましたが、ランタイム例外が発生したため、ServiceBusTriggers でサポートされているようには見えません。{"Cannot bind parameter 'dequeueCount' when using this trigger."}

public static void ProcessMessage([ServiceBusTrigger(topicName: "abc", subscriptionName: "abc.gdp")] NotificationMessage message,
            [Blob("rox/{PayloadId}", FileAccess.Read)] Stream blobInput, Int32 dequeueCount)
        {
            throw new ArgumentNullException();
        }
4

3 に答える 3

7

現時点では、WebJobs がこれを内部的に処理しているようです。

参考:WebJobs SDKでAzure Service Busを使う方法

特定のセクション:

ServicebusTrigger の仕組み

SDK は PeekLock モードでメッセージを受信し、関数が正常に終了した場合はメッセージに対して Complete を呼び出し、関数が失敗した場合は Abandon を呼び出します。関数が PeekLock タイムアウトより長く実行された場合、ロックは自動的に更新されます。

Service Bus は独自のポイズン キュー処理を行うため、WebJobs SDK で制御も構成もできません。

追加の参照

Azure Functions では、有害なメッセージの処理を制御または構成することはできません。Service Bus は、有害なメッセージ自体を処理します。

于 2015-02-03T00:12:31.737 に答える