2017-10-11 12 views
0

Azure関数を使用して(cosを使用して、またはreturnを使用して)cosmos DBに一度に1つのドキュメントを保存できることは、Azure関数からオブジェクトリストをcosmos DB(Document DBまたはmongo DB)に保存

object outputDocument = new { id = Guid.NewGuid().ToString(), 
            customObjList= objList 
          }; 

ここで、objListはカスタムオブジェクトのリストです。 上記のoutputDocumentは1つのjsonドキュメントを返し、DBのデータは下のフォーマットで保存されます。

{ 
    "id" : "....", 
    "customObjList" :[ 
     { 
      "_id" : "81afbe1a-3da0-4143-9dc6-0b3bf5252e0d", 
      ... 
     }, 
     { 
      "_id" : "2af7e1ac-15ca-424e-8af1-d3e5a2cca8de", 
      .... 
     }, 
     ..... 
]} 

しかし、私が欲しいのはアズールから直接保存する文書のリストの下にあるようなものが

/* 1 */ 
    { 
    "_id" : "81afbe1a-3da0-4143-9dc6-0b3bf5252e0d", 
    ... 
    } 
    /* 2 */ 
    { 
     "_id" : "2af7e1ac-15ca-424e-8af1-d3e5a2cca8de", 
     .... 
    } 

を機能さ[私には要件は、RSSフィードからデータを取得し、それを保存することです私が最初に読んで、オブジェクトのリストにデータを保存していますが、コスモスDBにオブジェクトのリストを独立して保存することはできません。]

+0

だけで直接書き込みを行う(または書き込み)あなたの関数から、コスモスDBにないのはなぜ? –

答えて

1

を使用して一度に複数のドキュメントを保存できますまたは非同期機能がある場合はIAsyncCollectorを使用してください。

は、これはどのようにあなたの希望を出力する複数のオブジェクト:

public static void Run(ICollector<object> myQueueItem, TraceWriter log) 
{ 
    foreach (object obj in objList) 
    { 
     var objnew = { 
         id = Guid.NewGuid().ToString(), 
         someProperty = obj.someProperty 
        }; 

     myQueueItem.Add(objnew); 
    } 
} 

出典:Azure Documentation -- Writing multiple output values

関連する問題