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

获取流分析中的消息对象属性

  •  0
  • MAK  · 技术社区  · 8 年前

    这是一个JSON输入包示例。我正在编写转换查询以获取数据,它工作得很好。

    [{
          "source": "xda",
          "data": 
            [{
                "masterTag": "UNIFY",
                "speed": 180
            }],
          "EventEnqueuedUtcTime": "2018-07-20T19:28:18.5230000Z",
      },
      {
          "source": "xda",
          "data": [{
                "masterTag": "UNIFY",
                "speed": 214
            }],
          "EventEnqueuedUtcTime": "2018-07-20T19:28:20.5550000Z",
      }
    ]
    

    但是,当消息对象以“profilter”的名称发送到物联网集线器时,已经向该消息对象添加了一个自定义属性。这不在有效负载内,但存在于消息对象中。我可以使用Azure函数获取此属性,但我不确定如何在流分析转换查询中获取它。我有办法拿到吗?

    基本转换查询:

    WITH data AS
    (
        SELECT
            source,
            GetArrayElement(data,0) as data_packet 
        FROM input 
    )
    
    SELECT 
        source, 
        data_packet.masterTag 
    INTO 
        output
    FROM data
    
    1 回复  |  直到 8 年前
        1
  •  2
  •   Riccardo Bellini    8 年前

    在您的 SELECT 声明:

    GetMetadataPropertyValue(input, '[User].[proFilter]') AS proFilter
    

    如果您有兴趣将所有自定义属性作为记录检索,可以使用

    GetMetadataPropertyValue(input, '[User]') AS userprops
    

    this doc for further reference

    推荐文章