在现代软件开发中,流处理变得越来越重要,尤其是在处理大量实时数据时。为了简化这一过程,Azure提供了Data Lake和Stream Analytics工具,这些工具可以在Visual Studio中使用,从而避免了在浏览器中进行繁琐的手动操作。本文将介绍如何设置Visual Studio环境,使用这些工具,并创建一个流分析作业。
最近,开始使用Azure IoT设备套件,这是一个功能强大的微控制器板,它内置了许多传感器,可以发送诸如温度、湿度等信息到Azure云。在本文中,将创建一个Visual Studio解决方案,用于流分析作业,以便可以将其移动到源代码控制中,并可以轻松管理。
假设已经拥有一个有效的Azure订阅,并且可以在其中创建资源。首先,需要确保Visual Studio安装了所需的工作负载。
打开Visual Studio安装程序,并修改工作负载。确保已经安装了Azure Data Lake扩展。可以通过“工具”->“扩展”菜单来检查扩展是否可用。
一旦启用了扩展,应该能够创建一个新的Azure流分析应用程序。新项目将包含以下文件:
要配置订阅,请确保已经在服务器资源管理器中添加了订阅。
Input.json文件是输入作业拓扑的副本。双击该文件将打开配置页面,可以在其中配置详细信息。
Output.json文件是输出作业拓扑,可以根据需要拥有多个输出。在例子中,只有一个,即SQL Server数据库。
可以通过JobConfig.json文件配置作业。在配置作业时,需要确保提供的值是正确的,并且满足需求。
数据本地化是本地输入选项。“输出错误处理”选项用于处理事件未能写入输出时的情况,可以选择丢弃或重试。“迟到容忍窗口”是可以等待事件到达IoT中心的时间范围,时间差异是事件时间戳和系统时间之间的差异。
Script.asaql文件是需要添加自定义查询的地方,该查询从输入获取数据并将其发送到输出。
SELECT
messageId,
deviceId,
temperature,
humidity,
pressure,
pointInfo,
IoTHub,
EventEnqueuedUtcTime,
EventProcessedUtcTime,
PartitionId
INTO
streamoutputs
FROM
streaminputs
一旦完成所有操作,就可以将作业提交到Azure。可以创建一个新的作业,或者使用现有的作业。
当提交作业时,可以看到一个新的流分析视图将被打开,作业将自动开始。可以通过转到云资源管理器来查看容器下创建的blob。
现在只需右键单击解决方案,选择“将解决方案添加到源代码控制”,然后将其推送到git仓库。一旦将解决方案添加到源代码控制,团队成员就可以轻松更新输入和输出配置,并拥有相同的历史记录。