在流分析中获取消息对象属性
Posted
技术标签:
【中文标题】在流分析中获取消息对象属性【英文标题】:Get Message object properties in stream analytics 【发布时间】:2018-07-26 12:57:18 【问题描述】:这是一个示例 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
【问题讨论】:
【参考方案1】:在您的SELECT
语句中包含以下函数:
GetMetadataPropertyValue(input, '[User].[proFilter]') AS proFilter
如果您有兴趣将所有自定义属性作为记录检索,您可以使用
GetMetadataPropertyValue(input, '[User]') AS userprops
见this doc for further reference
【讨论】:
以上是关于在流分析中获取消息对象属性的主要内容,如果未能解决你的问题,请参考以下文章
消息:试图在 Codeigniter 3 中获取非对象的属性
如何解决消息:试图在 Codeigniter 中获取非对象错误的属性?