首页 > 解决方案 > 如何将 cosmosdb 文档列表转换为哈希图并将值附加到其中

问题描述

我目前正在尝试将我从 cosmosdb 查询中获取的文档列表转换为地图,以便我可以在不使用它们的 id 的情况下迭代对象元素。我想删除一些元素,我也想将一些数据附加到元素中。最后我想用这个数据输出一个 Json 文件。我怎样才能做到这一点?

例如:

{
    "action": "A",
    "id": "138",
    "validate": "yes",
    "BaseVehicle": {
        "id": "105"
    },
    "Qty": {
        "value": "1"
    },
    "PartType": {
        "id": "8852"
    },
    "BatchNumber": 0,
    "_attachments": "attachments/",
    "_ts": 1551998460
}

Should Look something like this:

  "type": "App",
  "data": {
    "attributes": {
      "Qty": {
        "values": [
          {
            "source": "internal",
            "locale": "en-US",
            "value": "1"
          }
        ]
      },
      "BaseVehicle": {
        "values": [
          {
            "source": "internal",
            "locale": "en-US",
            "value": "105"
          }
        ]
      },
      "PartType": {
        "values": [
          {
            "source": "internal",
            "locale": "en-US",
            "value": "8852"
          }
        ]
      },
    }
  }
}

标签: hashmapazure-cosmosdbazure-cosmosdb-sqlapi

解决方案


您可以使用Azure 数据工厂中的复制活动来实现您的要求。

1.编写API从cosmos db中查询数据,并使用代码将数据处理成你想要的格式。

2.输出想要的结果并将http连接器配置为复制活动的来源。参考这个链接

3.将Azure Blob存储配置为复制活动的接收器。数据集属性支持JSON格式。参考此链接


推荐阅读