Microsoft Azure 流分析和 Blob 存储输入

Posted

技术标签:

【中文标题】Microsoft Azure 流分析和 Blob 存储输入【英文标题】:Microsoft Azure Stream analytics and blob storage input 【发布时间】:2018-09-16 11:47:08 【问题描述】:

我有一个 Blob 存储,我使用路由存储来自事件中心的数据。 我想显示该数据,例如在 PowerBI 中,或将其放入主题等中。

为此,我创建了一个流分析作业。我将“Blob 存储”设置为输入,并将我的一个主题设置为输出。

我写了一个很基础的SQL

SELECT
    * INTO
    [sajoutputtopic] FROM
    [blobstoragesajinput]

然后我向 IoT Hub 发送消息: "deviceId":"mydevice","messageId":921,"温度":31,"湿度":72

在 azure 中,我可以看到它存储在 blob 中 然后我测试SQL:

    下载 blob 右键输入->“从文件上传样本数据”,选择“AVRO”

但是当我点击测试时,我得到 0 行。

我做错了什么?

【问题讨论】:

抱歉,我不明白问题出在哪里:数据不在 blob 存储中,或者您无法从流分析中访问它? @Thomas 数据在 blob 存储中,但我无法获取并推送到流分析输出(SELECT 始终返回 0 行) 【参考方案1】:

放大器。您需要检查您下载的文件格式。它需要与选定的选项相匹配。我创建了存储您的示例数据的 json 文件。然后我右键单击输入->“从文件上传示例数据”,选择“JSON”。它工作正常。

【讨论】:

问题是 Blob 不是 JSON。它们采用 AVRO 格式。 JSON 格式也适用于我。

以上是关于Microsoft Azure 流分析和 Blob 存储输入的主要内容,如果未能解决你的问题,请参考以下文章

Azure Blob 存储和流分析

Azure 流分析测试查询编辑器与 ComosDB 和 Blob 中的最终输出不匹配

如何使用 azure 流分析根据输出/blob 存储中的数据仅插入不同的行?

如何使用 Azure.Storage.Blobs 上传流

允许其他受保护的附加在 Azure 流分析中不起作用?

Azure.Cosmos 还是 Microsoft.Azure.Cosmos、Azure.Storage.Blob 还是 Microsoft.Azure.Storage.Blob?适用于 .NET C