这是一个示例 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”发送到 IoT 中心时,已将自定义属性添加到消息对象中。它不在有效负载内,但存在于消息对象中。我可以使用 Azure 函数获取此属性,但我不确定如何在流分析转换查询中获取它。有什么办法可以得到它吗?
基本转换查询:
WITH data AS
(
SELECT
source,
GetArrayElement(data,0) as data_packet
FROM input
)
SELECT
source,
data_packet.masterTag
INTO
output
FROM data
最佳答案
在 SELECT
语句中包含以下函数:
GetMetadataPropertyValue(input, '[User].[proFilter]') AS proFilter
如果您有兴趣将所有自定义属性作为记录检索,您可以使用
GetMetadataPropertyValue(input, '[User]') AS userprops
关于azure - 获取流分析中的消息对象属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51539417/