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”

将 Microsoft Azure Function App 2.0 预览版绑定到 0.0.0.0