Azure Stream Analytics 从事件中心读取数据

问题描述 投票:0回答:1

我有来自事件中心的以下结构 JSON 数据,我正在尝试使用 Azure 流分析处理相同的数据。 我已经尝试了一些方法来从该 JSON 结构中提取数组元素,但所有查询方法都显示一个或另一个错误。

如果我尝试使用 CTE 和某些函数展平“JSON”,查询会抛出错误,例如不支持函数。 enter image description here 对于使用 Azure 流分析检索以下“JSON”数据有什么建议吗?

[ { “用户”: [ { “状态”:“活跃”, “用户ID”:“11000”, "用户名": "[电子邮件受保护]", “名字”:“test01”, “姓氏”:“test02”, "email": "[电子邮件受保护]", “经理”:“测试04”, “人力资源”:“测试03” } ] } ]

问候, 桑迪普

json azure-eventhub azure-stream-analytics
1个回答
0
投票

由于

User
是保留关键字,因此您需要在查询中将它们括在括号
[User]
中。我对您的查询做了一些更改。以下是修改后的查询。

select 
a.arrayvalue.status,a.arrayvalue.UserId,a.arrayvalue.username,
a.arrayvalue.firstname, a.arrayvalue.lastname, a.arrayvalue.email,
a.arrayvalue.manager, a.arrayvalue.humanresource
from input as i cross apply getArrayElements(i.[User]) a

此代码使用

GetArrayElements
函数从输入 JSON 中提取
User
数组,然后使用
CROSS APPLY
将数组展平为单独的行。最后,它从扁平化数据中选择各个字段。

© www.soinside.com 2019 - 2024. All rights reserved.