在本教程中,你将学习如何使用适用于 Visual Studio 的流分析工具。 了解如何编写、调试和创建 Stream Analytics Edge 作业。 创建并测试作业后,可以转到Azure门户将其部署到设备。
先决条件
需要满足以下先决条件才能完成本教程:
安装 Visual Studio 2019、Visual Studio 2015 或 Visual Studio 2013 Update 4。 支持企业版(Ultimate/Premium)、Professional 版和社区版。 不支持 Express 版本。
按照 安装说明 安装适用于 Visual Studio 的流分析工具。
创建流分析 Edge 项目
在Visual Studio中,选择“新建>文件>Project。 导航到左侧的>列表,展开Azure 流分析>Stream Analytics Edge>Azure 流分析 Edge 应用程序。 为项目提供名称、位置和解决方案名称,然后选择“ 确定”。
创建项目后,导航到解决方案资源管理器以查看文件夹层次结构。
选择正确的订阅
从“Visual Studio视图”菜单中,选择“服务器资源管理器”。
右键单击Azure>选择“连接到Azure订阅>”,然后使用Azure帐户登录。
定义输入
从解决方案资源管理器展开“输入”节点,应会看到名为 EdgeInput.json的输入。 双击以查看其设置。
将源类型设置为 数据流。 然后将源设置为 Edge 中心、事件序列化格式设置为 Json,并将编码设置为 UTF8。 (可选)可以重命名 输入别名,让我们将它保留为此示例。 如果重命名输入别名,请使用在定义查询时指定的名称。 选择“ 保存” 以保存设置。
定义输出
在解决方案资源管理器中,展开“输出”节点,应会看到名为 EdgeOutput.json的输出。 双击以查看其设置。
请确保将“接收器”设置为 Edge Hub,将“事件序列化格式”设置为 Json,将“编码”设置为 UTF8,并将“格式”设置为 Array。 (可选)可以重命名 输出别名,让我们将它保留为此示例。 如果重命名输出别名,请使用在定义查询时指定的名称。 选择“ 保存” 以保存设置。
定义转换查询
部署在流分析 IoT Edge 环境中的流分析作业支持流分析查询语言参考中的大多数内容。 但是,流分析 Edge 作业尚不支持以下操作:
| Category | Command |
|---|---|
| 其他运算符 |
|
在门户中创建流分析 Edge 作业时,如果未使用受支持的运算符,编译器将自动发出警告。
在Visual Studio中,在查询编辑器中定义以下转换查询(script.asaql 文件)
SELECT * INTO EdgeOutput
FROM EdgeInput
在本地测试作业
若要在本地测试查询,应上传示例数据。 可以通过从GitHub存储库下载注册数据并将其保存到本地计算机来获取示例数据。
若要上传示例数据,请右键单击 EdgeInput.json 文件,然后选择“添加本地输入”
在弹出窗口>中,从本地路径>“选择保存”浏览示例数据。
名为 local_EdgeInput.json 的文件会自动添加到输入文件夹中。
可以在本地运行它,也可以提交到Azure。 若要测试查询,请选择“ 在本地运行”。
命令提示符窗口显示作业的状态。 成功运行作业时,它会在项目文件夹路径“Visual Studio 2015\Projects\MyASAEdgejob\MyASAEdgejob\ASALocalRun\2018-02-23-11-31-42”中创建类似于“2018-02-23-11-31-42”的文件夹。 导航到文件夹路径,查看本地文件夹中的结果:
还可以登录到Azure门户,并验证作业是否已创建。
将作业提交到Azure
将作业提交到Azure之前,必须连接到Azure订阅。 打开服务器资源管理器>,右键单击 Azure>,选择连接到 Azure 订阅>,然后登录到你的 Azure 订阅。
若要将作业提交到Azure,请导航到查询编辑器>,选择“提交到Azure”。
此时会打开一个弹出窗口。 选择更新现有的流分析 Edge 作业或创建新的作业。 更新现有作业时,它将替换所有作业配置,在此方案中,你将发布一个新作业。 选择“创建新Azure 流分析作业>”输入作业的名称,例如 MyASAEdgeJob>,请选择所需的订阅、资源组和位置>选择提交。
现在已创建流分析 Edge 作业。 可以在IoT Edge教程中参阅“运行作业”,了解如何将其部署到设备。
管理作业
可以从服务器资源管理器查看作业的状态和作业关系图。 在服务器资源管理器中的流分析下,展开你部署流分析 Edge 作业所在的订阅和资源组。 您可以查看状态为已创建的 MyASAEdgejob。 展开作业节点,然后双击它打开作业视图。
作业视图窗口提供刷新作业、删除作业以及从Azure门户打开作业等操作。