我有来自IoT中心的输入和来自Blob存储的参考输入。 我想结合我将IoTHubInput.id与BlobStorageInput.id匹配时发现的所有结果。
当前查询如下:
SELECT Blob
FROM iothub IoTHub
JOIN blob Blob
ON IoTHub.id = Blob.deviceId
此查询的结果如下:
[
{
"blob":
{
"deviceId": "test001",
"data": "Sample1"
}
},
{
"blob":
{
"deviceId": "test002",
"data": "Sample2"
}
},
{
"blob":
{
"deviceId": "test003",
"data": "Sample3"
}
},
]
它将在我的输出中返回3条消息,但我不想要。
如果id匹配,我希望Blob中的所有数据都有效,但实际上我希望它们全部CONCAT并成为一个数组。例如:
[
{
"deviceId": "test001",
"data": "Sample1"
},
{
"deviceId": "test002",
"data": "Sample2"
},
{
"deviceId": "test003",
"data": "Sample3"
}
]
我在互联网上搜索后发现GROUP CONCAT
,但Stream Analytics不支持。我还有其他替代解决方法可以达到相同的目的吗?
答案 0 :(得分:1)
我复制了您的测试数据:
据我所知,ASA中没有GROUP CONCAT
功能。实际上,ASA的输出已经是一个数组。您可以在下载结果中对其进行验证:
我测试了Blob输出,并显示为数组。如果您的输出产生3行,建议您先使用Azure Function Output接受该数组,然后再进行下一步传输。