C# Azure Function - CosmosDB 触发和解析文档数据
Posted
技术标签:
【中文标题】C# Azure Function - CosmosDB 触发和解析文档数据【英文标题】:C# Azure Function - CosmosDB Trigger and parsing document data 【发布时间】:2020-07-07 12:17:41 【问题描述】:我正在开发一个在 CosmosDB 触发器上运行的 Azure 函数。 Microsoft 已经创建了这个示例 https://docs.microsoft.com/en-us/azure/azure-functions/functions-create-cosmos-db-triggered-function,它在触发器方面效果很好。
我现在问自己如何顺利地解析返回的文档。我从触发函数返回的数据来自 Microsoft.Azure.Documents.Document 类 (IReadOnlyList<Document> documents
)。
关于如何将这些数据解析为 Json 对象或可比较的任何好主意?
谢谢!
【问题讨论】:
您可能已经能够通过将<Document>
替换为<YourClass>
来开箱即用地执行此操作
不幸的是没有......它只允许<Document>
类......
【参考方案1】:
Document
可以反序列化为你想要的任何类型,例如:
foreach (Document document in documents)
MyClass myClass = JsonConvert.DeserializeObject<MyClass>(document.ToString());
您还可以读取它的任何属性:
foreach (Document document in documents)
string myPropertyValue = document.GetPropertyValue<string>("myProperty");
【讨论】:
太好了,我猜应该这样做。有趣的是没有多少人有这个问题,因为我没有找到很多关于这个的问题。实际上,这是我发现真的(太)晚的超级起点:tpeczek.com/2019/01/azure-functions-20-extensibility.html以上是关于C# Azure Function - CosmosDB 触发和解析文档数据的主要内容,如果未能解决你的问题,请参考以下文章
如何将文件上传到 c# Azure Function 生成的 FTP/webdav? [复制]
如何使用 Azure Function 在 Azure 文件共享中解压缩文件?
为啥 Task.Delay 不能在 Azure Function App 中工作?
无法加载文件或程序集“System.Net.Http.Formatting-Cosmo”
错误:将 Function 部署到 Azure 后,无法加载文件或程序集“System.ServiceModel,版本 = 4.0.0.0”