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

时间:2018-07-26 12:57:18

标签: azure azure-functions azure-stream-analytics

这是一个示例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函数获取此属性,但不确定如何在Stream Analytics转换查询中获取它。我有什么办法吗?

基本转换查询:

WITH data AS
(
    SELECT
        source,
        GetArrayElement(data,0) as data_packet 
    FROM input 
)

SELECT 
    source, 
    data_packet.masterTag 
INTO 
    output
FROM data

1 个答案:

答案 0 :(得分:2)

在您的SELECT语句中包括以下功能:

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

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

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

请参见this doc for further reference