如何启动 Azure 流分析作业

可以使用 Azure 门户和 PowerShell 启动 Azure 流分析作业。 启动作业时,可以选择该作业开始创建输出的时间。 Azure 门户和 PowerShell 各自提供不同的方法来设置开始时间。 下面将介绍这些方法。

启动选项

可使用以下三个选项来启动作业。 请注意,下面提到的所有时间都是在 TIMESTAMP BY 中指定的时间。 如果未指定 TIMESTAMP BY,将使用抵达时间。

  • 立即:使输出事件流的起点与作业启动时间相同。 如果使用时态运算符(例如时间窗口、LAG 或 JOIN),则 Azure 流分析会自动回查输入源中的数据。 例如,如果你“立即”启动一个作业,而查询使用 5 分钟翻转窗口,则 Azure 流分析将在输入中查找 5 分钟以前的数据。 第一个可能的输出事件具有等于或大于当前时间的时间戳,ASA 保证考虑到在逻辑上可对输出产生作用的所有输入事件。 例如,不会生成部分开窗聚合。 始终生成完整的聚合值。

  • 自定义:可以选择输出的起点。 与“立即”选项类似,如果使用时态运算符,Azure 流分析将自动读取此时间以前的数据

  • 上次停止时 如果作业先前已启动,但被手动停止或失败,则可以使用此选项。 选择此选项时,Azure 流分析将使用上次输出时间来重启作业,因此不会丢失数据。 与前面的选项类似,如果使用时态运算符,Azure 流分析将自动读取此时间以前的数据。 由于多个输入分区可能具有不同的时间,而系统会使用所有分区的最早停止时间,因此,输出中可能会出现一些重复项。 事件传送保证页上提供了有关“正好处理一次”的详细信息。

Azure 门户

在 Azure 门户中导航到你的作业,然后在概述页上选择“启动”。 依次选择“作业输出开始时间”、“启动”。

选择“作业输出开始时间”对应的选项之一。 选项包括“立即”、“自定义”,如果作业先前已运行过,则还包括“上次停止时”。 有关这些选项的详细信息,请参阅上文。

PowerShell

在 PowerShell 中使用以下 cmdlet 启动作业:

Start-AzStreamAnalyticsJob `
  -ResourceGroupName $resourceGroup `
  -Name $jobName `
  -OutputStartMode 'JobStartTime'

OutputStartMode 有三个选项:JobStartTimeCustomTimeLastOutputEventTime。 如果此属性不存在,则默认值为 JobStartTime。 有关这些选项的详细信息,请参阅上文。

有关 Start-AzStreamAnalyitcsJob cmdlet 的详细信息,请查看 Start-AzStreamAnalyticsJob 参考

后续步骤