0

これは私が過去に解決したように感じる質問の1つですが、私は気にすることができないようです。私はWebJobを持っている、と私は単にキュー内のメッセージを聞きたい:WebJobリスナーに特定のキューを指定する方法

public static void ProcessQueueMessage(
     [QueueTrigger("myqueue")] string message, 
     TextWriter log) 

それをローカルに実行して、それが実行されますが、私はmyqueueにメッセージを追加するときに何も起こりません。その理由は、キュートリガーがキューを探す場所を知らないということです。私はQueueTriggerの接続文字列プロパティがあるはずだと思っていますが、そうではありません。

サービスバス上のRootManageSharedAccessKeyの接続文字列をAzureWebJobsStorageという値(ダッシュボードも試してみました)として使用しようとしましたが、いずれの接続文字列も嫌いです。適切なサービスバスでWebジョブをどのように指し示すことができますか?

答えて

3

QueueTriggerは、サービスキューキューではなくストレージキューをリッスンします。既定では、接続文字列はAzureWebJobsStorageです。

あなたはService Busのメッセージを処理する必要がある場合は、ServiceBusTrigger属性を使用します。

public static void ProcessQueueMessage(
    [ServiceBusTrigger("myqueue")] string message, 
    TextWriter log) 

デフォルトの接続文字列の名前はAzureWebJobsServiceBusです。それ以外の場合は、Connectionプロパティを使用して、接続文字列のアプリ設定の代替名を設定できます。

さらに詳しい説明は、docsを参照してください。

関連する問題