2017-04-24 11 views
1

Azureイベントハブに接続し、イベントハブに受信するたびにメッセージを書き出す単純なトリガベースのAzure関数があります。C#WebアプリケーションとしてのAzure関数のデバッグ

私は下のポストに基づいてC#Webアプリケーションとしてこれを作成し、ローカルでこの機能をデバッグしようとしています: - https://blogs.msdn.microsoft.com/appserviceteam/2017/03/16/publishing-a-net-class-library-as-a-function-app/

ここでは私の機能コードです: - ここに

using Microsoft.Azure.WebJobs.Host; 
using System; 
using System.Threading.Tasks; 

    namespace FunctionLibrary 
    { 
     public class EventHubProcessorFunction 
     { 
      public static void Run(string myEventHubMessage, TraceWriter log) 
      { 
       log.Info($"C# Event Hub trigger function processed a Vineet message: {myEventHubMessage}"); 
      } 
     } 
    } 

は私ですfunction.json

{ 
    "disabled": false, 
    "scriptFile": ".\\bin\\FunctionAsWebApp.dll", 
    "entryPoint": "FunctionLibrary.EventHubProcessorFunction.Run", 
    "bindings": [ 
    { 
     "type": "eventHubTrigger", 
     "name": "myEventHubMessage", 
     "direction": "in", 
     "path": "edpvineethub", 
     "connection": "AzureWebJobsServiceBus" 
    } 
    ] 
} 

私のフォルダ構造は次のとおりです。 - Webアプリケーションプロジェクトに次のファイルを含めました: -

ローカルで実行しようとしたとき、私は以下のエラーメッセージを取得していますが
bin\FunctionAsWebApp.dll 
NameOfYourFunction\function.json 
AnotherFunctionIfYouHaveOne\function.json 
appsettings.json 
host.json 

; -

No job functions found. Try making your job classes and methods public. If you'r 
e using binding extensions (e.g. ServiceBus, Timers, etc.) make sure you've call 
ed the registration method for the extension(s) in your startup code (e.g. confi 
g.UseServiceBus(), config.UseTimers(), etc.). 

任意の助けをいただければ幸いです。フォルダ構造は次のようになります

+0

サービスバスのトピックにアクセスしようとしているだけで、同じエラーが発生しています。私は、VSがfunction.jsonのtypeの "serviceBusTrigger"の値を気に入らないことにも気付きました。サポートされていないだけですか? – jemerick

答えて

2

チェック:もちろんバイナリに参照する必要があります

bin\FunctionAsWebApp.dll 
NameOfYourFunction\function.json 
AnotherFunctionIfYouHaveOne\function.json 
appsettings.json 
host.json 

そしてfunction.jsonそれに応じて初期化の可能性が高いSBの接続文字列の検索を実行するために失敗している

"scriptFile": "..\\bin\\FunctionAsWebApp.dll" 
+0

私のフォルダ構造は上記とまったく同じです。まだ上記のメッセージを得る。 – Vineet

0

これはApp Setting/Environment変数名を想定しており、そこには実際の接続文字列があります。

ローカルでappsettings.jsonに定義されているApp Settingの名前と、接続時に機能Appの設定値を使用し、接続文字列を値として使用するように、function.jsonを更新してください。

重要:上記の接続文字列を貼り付けたので、資格情報をリセットすることを強くお勧めします。

+0

私はserviceBusTriggerで同じエラーが発生しています。 function.json "connection" propは、appsettings.json内のエントリに対応するApp Setting名を指します。しかし、まだエラーを取得します。 – jemerick

+0

上記のメッセージはかなり一般的です。詳細な例外情報はありますか?元の質問とは無関係の可能性があります。 –

+0

@Vineet、接続文字列リファレンスを使用するように質問を更新したことに気付きました(問題を述べたときとは異なるためです)。あなたはまだ更新後も同じ問題がありますか? –

関連する問題