gpt4 book ai didi

azure - 从 Azure 函数将对象列表保存到 cosmos DB(文档 DB 或 mongo DB)

转载 作者:行者123 更新时间:2023-12-03 05:52:03 29 4
gpt4 key购买 nike

我们都知道,我们可以使用 Azure 函数(使用 out 参数或使用 return)在 cosmos 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 feed 中获取数据并将其保存到 cosmos DB,我首先读取它并将数据存储在对象列表中,但无法将这些对象列表独立保存在 cosmos DB 中]

最佳答案

您可以使用 ICollector 一次保存多个文档,或者如果您有异步函数,则使用 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

关于azure - 从 Azure 函数将对象列表保存到 cosmos DB(文档 DB 或 mongo DB),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46689866/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com