私はイベントハブからのメッセージを処理しAzureテーブルにメッセージを書き込むAzure関数を書いています。Azure関数のエラー処理ですか?
Azure関数でエラー処理がどのように機能しますか? Azureテーブルに正しく書き込まれていない場合にメッセージがイベントハブから永久に削除されないように、メッセージの処理に失敗を通知するにはどうすればよいですか?
私はイベントハブからのメッセージを処理しAzureテーブルにメッセージを書き込むAzure関数を書いています。Azure関数のエラー処理ですか?
Azure関数でエラー処理がどのように機能しますか? Azureテーブルに正しく書き込まれていない場合にメッセージがイベントハブから永久に削除されないように、メッセージの処理に失敗を通知するにはどうすればよいですか?
イベントハブメッセージが消えてしまいます。msdn上にその上に良い情報を。
EventHubsは、高容量スループットのために意図されます。ここに意味のある の影響があります。これは、 バッチのイベントを処理し、バッチを一括して処理することによって発生します。したがって、個々のイベントと毒キューを再試行することには役立ちません。
いくつかのオプション:
あなたは、低音量であれば、代わりにAzureのキューを使用しています。
ハンドラは、ユーザコードのエラーを捕捉し、独自のエラー処理ポリシー(リトライや独自のポイズンキューへの送信など)を行うことができます。
あなたはAzure Functions Bindings docsを見れば、ストレージQueueTriggersとBlobTriggersは毒キューにメッセージをルーティング、およびサービスバスキュー/トピック/サブスクリプションは、Service Busのレベルで毒のメッセージを処理します。
ちょっとした提案 - EventHub + Azure Queueのようなものを組み合わせて使うのはどうですか?意味のあるイベントハブを使用してトラフィックの多いデータを漏洩させ、Azure機能を起動させます。間違ったことがあれば、ペイロードをAzure QueueにプッシュしてAzure Queueでフォールバック処理を行い、 Mattが上で提案したように、大量のキューやデータパイプラインのように言えば、キューデータの性質上、データの保持や設計上の制限があります。
古典的な例外をスローしようとしましたか? –
Azure Tableの挿入に失敗した場合は、作業をハブに戻してもかまいませんか? –
しかし、デフォルト動作は何ですか?私のコードで例外がスローされた場合はどうなりますか?イベントハブメッセージは自動的に自動的に再処理されるのでしょうか? – OlavT