首页 > 解决方案 > 是否可以在使用流分析将数据从 IOT 集线器发送到 CosmosDb 时转换 JSON 输入

问题描述

我有 JSON 输入(物联网集线器)

{
    "time": 1574266369775,
    "latitude": 70.703271,
    "longitude": 25.8445082,
    "accuracy": 23.320999145507812,
    "altitude": 498.8999938964844,
    "id": "abs8d5c2ff74b5a5"
}

并希望将其存储到 cosmosDb 中的微粒key位置。

{
    "updatedtime": 1574345877283,
    "time": 1574347747884,
    "status": "available",
    "deviceId":"abs8d5c2ff74b5a5",
    "location": {
        "time": 1574266369775,
        "latitude": 70.703271,
        "longitude": 25.8445082,
        "accuracy": 23.320999145507812,
        "altitude": 498.8999938964844,
        "id": "abs8d5c2ff74b5a5"
     }
}

可能吗?我可以将它存储到第一级,但它可以存储在任何文档的密钥中吗?

标签: azure-cosmosdbazure-iot-hubazure-stream-analytics

解决方案


流分析与 Azure Cosmos DB 的集成允许您根据给定的文档 ID 列在容器中插入或更新记录。这也称为 Upsert。

文档还说它可以对文档进行部分更新,也就是说,添加新属性或替换现有属性是增量执行的。

我的 2 美分:尝试将输出命名为“位置”,并确保在从 ASA 作业写入 cosmos db 输出时具有相同的文档 ID。


推荐阅读