Azure 流分析中的转码数组
Posted
技术标签:
【中文标题】Azure 流分析中的转码数组【英文标题】:Transcoding arrays in Azure Stream Analytics 【发布时间】:2017-04-21 14:48:47 【问题描述】:假设我有以下 JSON 数据结构进入流分析(由 IoT 设备生成):
"user":"bob",
"messages":[
"mac":"AA:BB:CC:DD:EE:FF",
"data":[
"messagetype1":
"param1":83,
"param2":82
,
"messagetype2":
"param3":83,
"param4":82
]
]
您可以在上面看到数据数组包含命名对象。我需要存储对象名称以及其他参数。是否有内置函数可以访问数组元素的对象名称? messagetype1 和 messagetype2 只是示例。
例如我想存储:
"user":"bob", "mac":"AA:BB:CC:DD:EE:FF", "type":"messagetype1", "param1":83
"user":"bob", "mac":"AA:BB:CC:DD:EE:FF", "type":"messagetype1", "param2":82
"user":"bob", "mac":"AA:BB:CC:DD:EE:FF", "type":"messagetype2", "param3":83
"user":"bob", "mac":"AA:BB:CC:DD:EE:FF", "type":"messagetype2", "param4":82
【问题讨论】:
【参考方案1】:处理这个问题的最好方法可能是使用javascript UDFs。
虽然通常可以通过CROSS APPLY 绑定Array 和Record 函数的某种组合,但在您的情况下,复杂性在于解开不同的messagetype*
记录。您将需要知道所有可能的 param*
名称的集合才能制作正确的查询。或者,您可以使用GetRecordProperties
,但您最终将使用... "field_name":"param1", "field_value":83
结构而不是所需的 ... "param1":83
结构。
【讨论】:
嗨,我不知道 Azure 中的用户定义函数。我认为这应该有效。非常感谢。以上是关于Azure 流分析中的转码数组的主要内容,如果未能解决你的问题,请参考以下文章
Azure Functions + Azure Batch实现MP3音频转码方案