azure - 在 Azure IoT 注册表中按标记值查询时出错
问题描述
我有一个具有以下标签值的设备:
{
"deviceId": "test",
"tags": {
"group": {
"name": "beta1"
}
}
当我查询以下内容时:
SELECT * FROM devices WHERE tags.group.name = 'beta1'
我收到以下错误:
There was an error querying devices: BadRequest:{ "Message": "ErrorCode:ArgumentInvalid;BadRequest", "ExceptionMessage": "Tracking ID:c6985322e3014555bc7bcb4892292394-G:9-TimeStamp:10/17/2018 12:22:07" }.
但是,如果我查询不存在的标签,则不会引发错误:
SELECT * FROM devices WHERE tags.foo.bar = 'beta1'
如何查询我的标签值?
解决方案
看起来我们不能在设备孪生中使用“组”属性的查询。解决方法是重命名它,例如 _group。
我猜这是一个错误。
更新: 问题已修复:
SELECT * FROM devices WHERE tags.[[group]].name = 'beta1'
更多详细信息:https ://github.com/MicrosoftDocs/azure-docs/issues/17106#issuecomment-433177700
推荐阅读
- android - 如何在颤动中对折线图中的x和y轴进行排序
- c# - 如何在 C# 中删除一组 XML 节点?
- angular - 选择所有未添加到数组的复选框和记录时不会触发更改
- typescript - 如何为异步方法创建类型 - 方法重载
- matlab - Bayes Net Toolbox for Matlab 安装错误 MATLAB R2018a
- python - 文本到 XML Python 解析器
- node.js - 使用 lambda 函数 node-js 我想建立两个不同的数据库引擎(一个是 SQL 服务,另一个是 Postgres)
- docker - 如何在 Hyperledger Fabric 中找到链码位置?
- postgresql - 在 Ubuntu 中运行 postgres 的最佳实践?
- css - 在 SCSS 中从组中排除元素