我在保存从 Azure IoT 中心到 Cosmos DB 的遥测数据时遇到问题。我有以下设置:
- IoT 中心 - 用于事件聚合
- Azure 流分析 - 用于事件流处理
- 带有表 API 的 Cosmos DB。这里我创建了 1 个表。
来自 IoT 中心的示例消息:
{“id”:33,“deviceId”:“test2”,“cloudTagId”:“cloudTag1”,“值”:24.79770721657087}
流分析中处理事件的查询:
选择
concat(deviceId, cloudtagId) 作为 telemetryid,值作为温度、id、deviceId,'asd' 作为 '$pk',deviceId 作为 PartitionKey
进入
[表ApiCosmosDb]
从
[设备消息]
每次作业尝试将输出保存到 CosmosDB 时,都会出现错误为 DocumentDB 准备数据时发生错误。输出记录不包含 DocumentDB 用作分区键属性的列“$pk”
注意:在尝试解决问题时,我添加了 $pk
列和 PartitionKey
。
编辑这里是输出配置:
有人知道我做错了什么吗?
最佳答案
遗憾的是,尚不支持 CosmosDB 的表 API 作为 ASA 的输出接收器。
如果想使用表作为输出,可以使用存储帐户下的表。 很抱歉给您带来不便。
我们将来会添加 Cosmos DB Table API。
谢谢! JS - Azure 流分析团队
关于Azure 流分析到 Cosmos 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44388376/