代码之家  ›  专栏  ›  技术社区  ›  Vladislav

如何按设备ID筛选从物联网集线器消耗的Azure TimeSeries Insights事件

  •  1
  • Vladislav  · 技术社区  · 6 年前

    我们配置了以下架构:

    1. 物联网集线器使用来自设备的遥测数据;
    2. 设备不会在遥测数据中发送其ID。它们只发送传感器数据;
    3. 时间序列洞察被设置为从物联网中心自动消费事件;
    4. 后端Web应用程序正在使用TSI JSON查询显示来自设备的原始数据。

    我们的问题:

    在后端应用程序中,我们尝试按设备ID筛选事件。这是一个棘手的问题。如果遥测中存在设备ID,则很容易过滤。然而,当遥测中没有设备ID时,我们应该使用什么谓词来过滤它。Azure文档仅定义两个内置属性( $esn $ts ,但是我们可以清楚地看到,在响应值中,其中一个值是设备ID。但是属性的名称是什么,以便我们可以将其包含在查询谓词中?

    谢谢您!

    1 回复  |  直到 6 年前
        1
  •  1
  •   Riccardo Bellini    6 年前

    iothub-connection-device-id

    {
        "searchSpan": {
         "from": "2018-08-02T08:00:00.000Z",
         "to": "2018-08-02T15:00:00.000Z"
        },
        "predicate" : {
            "eq": {
                "left": {
                    "property": "iothub-connection-device-id",
                    "type": "String"
                },
                "right": "my-sample-device"
            }
        },
        "top" : {
            "sort": [{
                "input" : {
                    "builtInProperty" : "$ts"
                },
                "order" : "Asc"
            }],
            "count" : 10
        }
    }