2017-10-11 230 views
0

我們都知道,我們可以使用Azure功能(使用輸出參數或使用返回)一次在cosmos DB中保存一個文檔,如:將對象列表從Azure功能保存到cosmos DB(文檔DB或mongo DB)

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

其中objList是自定義對象的列表。 現在上面的outputDocument將返回一個json Document,並且DB中的數據將以下面的格式保存。

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

但我要的是類似下面的文件列表直接從Azure的存儲功能

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

[對我的要求是,從RSS源獲取數據並保存到宇宙數據庫,我第一次讀取它,並將數據存儲在對象列表中,但無法將這些對象列表單獨保存在宇宙數據庫中]

+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