0

私はAzureサービスバスキュートリガ機能を持っていて、作成時に3つのフィールド、アクセス権、接続およびキュー名を求めました。警告公開Azureサービスバスキュートリガーはlocal.settings.jsonの名前付き値を見つけることができません

私はアクセス権を聴いています。接続のために、私が作成したサービスバスの 'RootManageSharedAccessKey'で与えられた「プライマリ接続」の名前を使用しました。 それはこの

エンドポイント= SBのようなものになります。SharedAccessKeyName = RootManageSharedAccessKey; //yogaband2017.servicebus.windows.net/ SharedAccessKey = JG0gwJ90bkbGl1BU =

をし、私は私のサービスバスにキューを作成しましたyogabandと呼ばれ、それが私が第3のパラメータとしてキュー名に使用したものです。私はこの警告に

.nugetの\パッケージを取得する機能を公開すると

は私の関数は、この

public static class PostEventEmails 
{ 
    [FunctionName("PostEventEmails")] 
    public static void Run([ServiceBusTrigger("yogaband2017", AccessRights.Listen, Connection = "Endpoint=sb://yogaband2017.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=gkbGl1BU=")]string myQueueItem, TraceWriter log) 
    { 
     log.Info($"C# ServiceBus queue trigger function processed message: {myQueueItem}"); 
    } 
} 

のように見える\ microsoft.net.sdk.functions \ 1.0.2 \ビルド\ [EndEvent = sb://yogaband2017.servicebus.windows.net/; SharedAccessKeyName =]という名前の値を見つけることができません。netstart1.0 \ Microsoft.NET.Sdk.Functions.Build.targets(31,5) 'serviceBusTrigger'に設定された 'connection'プロパティに一致するlocal.settings.jsonの[RootManageSharedAccessKey; SharedAccessKey = 0bkbGl1BU = '[C:\ Users \ Sourc電子\ワークスペース\ YogaBand2017 \ YogaBand2017 \ PostEventEmails] PostEventEmails.csproj \

と自分のサイトに私がメッセージキューを渡すことができますし、私は私のAzureポータル内のキューにメッセージが表示されますが、機能ではありませんメッセージを取り出して処理します。だから私はまだキューのアクティブなメッセージ数に '1つのメッセージ'が表示されます。私は関数がそれをピックアップして処理した後、それが0になると仮定し、ウィンドウにログトレースを表示しますか?しかし、私は接続が正しくないと思うので、私は何かを正しく設定しなかったと思いますが、私は何を知りません!ここで私はC#の

var queueClient = QueueClient.Create("yogaband2017"); 
      BrokeredMessage message = new BrokeredMessage("some test message"); 
      message.MessageId = newEvent.YogaSpaceEventId.ToString(); 

      queueClient.Send(message); 

に、私のウェブにキューにメッセージを送信します方法です - ここ

は、私はFYI local.settings.jsonファイル

{ 
"IsEncrypted": false, 
"Values": { 
"AzureWebJobsStorage": "Endpoint=sb://yogaband2017.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=bGl1BU=", 
"AzureWebJobsDashboard": ""}} 

に入れるものです。私はServiceBusTriggerのこの

<add key="Microsoft.ServiceBus.ConnectionString" value="Endpoint=sb://yogaband2017.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=0gwJ90bkbGl1BU="/> 
+0

率直に言えば、インターネットには多くの実例がありますが、同様の質問があります。あなたがそれらを検索しようとしたようではありません。 – Mikhail

答えて

2

Connectionプロパティが設定NAMに設定されるべき設定ファイルを追加しました電子ではなく、接続文字列自体:Azureの展開のための

{ 
    "IsEncrypted": false, 
    "Values": { 
    "AzureWebJobsStorage": "... azure storage connection string ...", 
    "MyConn": "... service bus connection string ..." 
    } 
} 

とAppセッティングで:

[ServiceBusTrigger("yogaband2017", AccessRights.Listen, Connection = "MyConn")] 

あなたは、ローカルの開発環境のためにlocal.settings.jsonで、この名前で設定を定義します。

AzureWebJobsStorageはサービスバス接続ではありません。

関連する問題