2017-11-14 4 views
1

紺色関数のドキュメントを参照してください。具体的にはthis oneです。ポータルを使用して統合をセットアップする方法は非常に明確ですが、ローカルで開発することは非常に曖昧です。Azure関数cosmos dbはlocal.settings.jsonを使用して出力します。

私のコードは次のように下に構成されています

[FunctionName("foobar")] 
public static void Run([QueueTrigger("foo")]Foo myQueueItem, out object dbFoo) 
{ 
    //do cool stuff here 
} 

キュートリガは、Azureのストレージエミュレータと非常によく動作しますが、上の命令はありませんどのようにセットアップlocal.settings.jsonをします。 Visual Studioのを経由して自動生成されたとのように見えるされたファイル:

{ 
    "IsEncrypted": false, 
    "Values": { 
     "AzureWebJobsStorage": "UseDevelopmentStorage=true", 
     "AzureWebJobsDashboard": "" 
    } 
} 

はどこに宇宙の接続情報が正しく動作する機能を有効にするには、この構造内に座るDBのでしょうか?

答えて

3

それは次のようになります。

public static void Run(
    [QueueTrigger("foo")] Foo myQueueItem, 
    [DocumentDB("MyDB", "MyCollection", ConnectionStringSetting = "MyConnectionString")] 
    out object dbFoo) 

と設定は次のようになります。

アズールで
{ 
    "IsEncrypted": false, 
    "Values": { 
     "MyConnectionString": "...your cosmos db string..." 
    } 
} 

、あなたは、App設定をMyConnectionStringパラメータを入れなければならないでしょう。

+0

ありがとう、それは私が発見した回避策ですが、リンクドゥークメントでは説明していません。彼らは、cosmosに書き込むためにoutパラメータを使用します。 'public static HttpResponseMessage Run(HttpRequestMessage req、outオブジェクトtaskDocument、TraceWriterログ)' –

+0

私はまた、私もoutパラメータを使いました。違いは何ですか? – Mikhail

+0

謝罪私は、あなたが言ったことと記事との間に一貫性があることを知っていますが、記事から収集したものから、[DocumentDB]属性は必須ではありません。私はエンジニアの一人の意見を聞くことを期待しています。もしこれが推奨される方法なら、これを正解とマークします。 –

関連する問題