0

私はAzure Event Hubに新しいメッセージとオフロードをAmazon SQSキューをポーリングするAzure WebJob(C#)を構築しています。長いポーリング接続(10秒)を作成し、複数のメッセージを処理し、イベントハブに正常に送信する概念実証があります。Azure WebJobs SDK - AWSキューでトリガーを作成しますか?

WebJobを連続して実行するように設定する方法を決定しようとしています。私は10秒ごとに発生するTimerTriggerの作成を検討しています。しかし、WebJobs SDKを見てから、SQSキューに新しいメッセージがあるときに通知を受け取るカスタムイベントトリガを作成したいと考えています。これは可能なのでしょうか、それともタイマートリガーに固執すべきですか?

サービスバスとAzureキューでデフォルトのイベントトリガーを使用するのに成功しましたが、これはAWSからトリガーを作成する最初の試みです。

答えて

2

(一度にすべての作業はもちろん、カスタムバインディングを作成して行われている)あなたの使用がより自然になるだろうだけでなく、カスタムバインディングを書くだけでなく、他の人があなたが結合:)私たちが持って使用することができるようになりますサンプルバインディングとスタータープロジェクトへのリンクと共に、カスタムバインディングを作成する方法についてはwikiページBinding Extensions Overviewを参照してください。一般的なバインディングパイプラインは、The Binding Processに記載されています。

他のバインディングのソースコードを見て、それらの動作やデバッグなどを確認することもできます。多くのバインディングはazure-webjobs-sdk-extensionsリポジトリにあり、内部の動作を見ることができます。他のコアバインディングはazure-webjobs-sdkにあります。

私は個人的に愛をこのAmazonのキューのバインディングを参照してくださいを参照してください - あなたはそれを行かなければならない!ご質問/問題があれば、私たちの拡張機能のrepo hereにお気軽にお問い合わせください。

2

SQSキューに新しいメッセージがあるときに通知を受け取るカスタムイベントトリガーを作成することをお勧めします。これは可能なのでしょうか、それともタイマートリガーに固執すべきですか?

はい、ただし、それには多くの作業が必要です。 Azure WebJobs SDK - Queues Listenersのソースコードを見ることで、Azure Queue Triggerがどのように動作するかを知ることができます。要するに

Azure WebJobs SDK - Queues Listeners

、キューのリスナーは、タイマーとロングポーリングに基づいています。簡単に作業するために、タイマートリガーを使用し、AWS SQSにリクエストを送信するときに長いポーリングを使用することができます。長いポーリングを使用すると、メッセージが見つかるまで一定期間待機します。

Amazon SQS Long Polling

関連する問題