将 Azure 计划程序作业迁移到 Azure 逻辑应用

重要

Azure 逻辑应用已替换于 2022 年 1 月 31 日完全停用的 Azure 计划程序。 请按照本文中的步骤,在 Azure 逻辑应用中以工作流的形式重新创建 Azure 计划程序作业,从而对其进行迁移。 Azure 计划程序在 Azure 门户中不再可用。 Azure 计划程序 REST APIAzure 计划程序 PowerShell cmdlet 不再工作。

本文介绍如何通过使用 Azure 逻辑应用而非 Azure 计划程序来创建自动化工作流,从而安排一次性作业和重复作业。 在使用 Azure 逻辑应用创建计划作业时,将获得以下好处:

  • 使用可视化设计器和来自 Azure Blob 存储、Azure 服务总线、Office 365 Outlook 和 SAP 等数百种服务的现成连接器来构建作业。

  • 将计划的每个工作流作为一级 Azure 资源进行管理。 不必担心作业集合的概念,因为每个逻辑应用都是一个单独的 Azure 资源。

  • 使用单个逻辑应用工作流运行多个一次性作业。

  • 设置支持时区并自动调整为夏令时 (DST) 的计划。

要了解详细信息,请参阅什么是 Azure 逻辑应用?或者通过尝试快速入门:创建第一个逻辑应用工作流来创建第一个逻辑应用工作流。

先决条件

使用脚本进行迁移

每种计划程序作业具有其独特性,因此不存在通用的工具可以将所有 Azure 计划程序作业迁移到 Azure 逻辑应用。 不过,可以编辑此脚本以满足自己的需求。

安排一次性作业

只需创建一个逻辑应用工作流即可运行多个一次性作业。

  1. Azure 门户中,使用设计器创建一个空白的逻辑应用工作流。

    有关基本步骤,请遵循快速入门:创建第一个逻辑应用工作流

  2. 在设计器的搜索框中,输入“当收到 http 请求”以查找“请求”触发器。 从触发器列表中选择名为“当收到 HTTP 请求时”的触发器。

    显示 Azure 门户和工作流设计器的屏幕截图,其中选择了“请求”触发器。

  3. 对于请求触发器,可以选择提供 JSON 架构,这有助于工作流设计器了解包含在请求触发器入站调用中的输入的结构,使你稍后在工作流中更易选择输出。

    在“请求正文 JSON 架构”框中输入架构,例如:

    显示采用示例 JSON 请求架构的“请求”触发器的屏幕截图。

    如果你没有架构,但有一个 JSON 格式的示例有效负载,则可以基于该有效负载生成一个架构。

    1. 在请求触发器中,选择“使用示例有效负载生成架构”。

    2. 在“输入或粘贴示例 JSON 有效负载”下,提供示例有效负载并选择“完成”,例如 :

      显示示例 JSON 有效负载的屏幕截图。

      {
         "runat": "2012-08-04T00:00Z",
         "endpoint": "https://www.bing.com"
      }
      
  4. 在触发器下,选择“下一步”。

  5. 在设计器的搜索框中,输入“延迟截止时间”。 在操作列表中,选择名为“延迟截止时间”的操作。

    此操作会暂停逻辑应用工作流,直到指定的日期和时间,例如:

    显示“延迟截止时间”操作的屏幕截图。

  6. 输入要启动逻辑应用工作流的时间戳。

    在“时间戳”框内单击时,系统会显示动态内容列表,这样你可以根据需要选择触发器的输出。

    显示“延迟截止时间”操作详细信息的屏幕截图,其中打开了动态内容列表并选择了“runAt”属性。

  7. 通过从数百个现成的连接器中进行选择,来添加要运行的任何其他操作。

    例如,可以包含向 URL 发送请求的 HTTP 操作,或包含处理存储队列、服务总线队列或服务总线主题的操作:

    显示“延迟截止时间”操作,后接使用 POST 方法的 HTTP 操作的屏幕截图。

  8. 完成后,请保存逻辑应用工作流。

    显示设计器工具栏的屏幕截图,其中选择了“保存”。

    第一次保存逻辑应用工作流时,逻辑应用工作流的请求触发器的终结点 URL 会显示在“HTTP POST URL”框中。 要触发逻辑应用工作流并将输入发送到工作流来进行处理,请将请求发送到生成的 URL 作为调用目标,例如:

    显示生成的“请求”触发器终结点 URL 的屏幕截图。

  9. 复制并保存此终结点 URL,以便稍后发送触发逻辑应用工作流的手动请求。

启动一次性作业

若要手动运行或触发一次性作业,请发送对逻辑应用的请求触发器终结点 URL 的调用。 在此调用中,请指定要发送的输入或有效负载,你之前可能已通过指定架构进行了描述。

例如,通过使用 Postman 应用,可以采用与此示例类似的设置创建 POST 请求,然后选择“发送”以发出请求。

请求方法 代码 Body 头文件
POST <endpoint-URL> raw

JSON(application/json)

在“raw”框中,输入要在请求中发送的有效负载。

注意:此设置会自动配置“标头”值。

密钥:Content-Type
:application/json

显示要发送的、用于手动触发逻辑应用工作流的请求的屏幕截图。

发送调用后,逻辑应用工作流的响应会显示在“正文”选项卡中的“raw”框下方。

重要

如果稍后想取消作业,请选择“标头”选项卡。在响应中查找并复制 x-ms-workflow-run-id 标头值。

显示响应的屏幕截图。

取消一次性作业

在 Azure 逻辑应用中,每个一次性作业均作为单个工作流运行实例执行。 若要取消一次性作业,可以使用 Azure 逻辑应用 REST API 中的工作流运行 - 取消。 发送对触发器的调用时,请提供工作流运行 ID

安排重复作业

  1. Azure 门户中,在设计器中创建一个空白的逻辑应用工作流。

    有关基本步骤,请遵循快速入门:创建第一个逻辑应用

  2. 在设计器的搜索框中,输入“定期”。 在“触发器”列表中选择名为“定期”的触发器。

    显示 Azure 门户和工作流设计器的屏幕截图,其中选择了“定期”触发器。

  3. 如果需要,请设置更高级的计划。

    显示具有高级计划的“定期”触发器的屏幕截图。

    有关高级计划选项的详细信息,请查看使用 Azure 逻辑应用创建和运行重复任务和工作流

  4. 通过从数百个现成的连接器中进行选择,来添加所需的其他操作。 在触发器下,选择“下一步”。 查找并选择所需的操作。

    例如,可以包含向 URL 发送请求的 HTTP 操作,或包含处理存储队列、服务总线队列或服务总线主题的操作:

    显示使用 POST 方法的 HTTP 操作的屏幕截图。

  5. 完成后,请保存逻辑应用工作流。

    显示设计器工具栏的屏幕截图,其中选择了“保存”按钮。

高级设置

以下各部分介绍了可自定义作业的其他方法。

重试策略

若要控制在出现间歇性失败时操作尝试在逻辑应用工作流中重新运行的方式,可以在每个操作的设置中设置重试策略,例如:

  1. 打开该操作的省略号 (…) 菜单,选择“设置” 。

    显示选择了“设置”的操作的屏幕截图。

  2. 选择所需的重试策略。 有关每个策略的详细信息,请查看重试策略

    显示所选“默认”重试策略的屏幕截图。

处理异常和错误

在 Azure 计划程序中,如果默认操作无法运行,则可以运行解决错误情况的替代操作。 在 Azure 逻辑应用中,也可以执行相同的任务。

  1. 在工作流设计器中要处理的操作上方,将指针移到各步骤之间的箭头上,然后选择“添加并行分支”。

    显示选择了“添加并行分支”的屏幕截图。

  2. 查找并选择要作为替代操作运行的操作。

    显示所选并行操作的屏幕截图。

  3. 在替代操作上,打开省略号 (…) 菜单,选择“配置随后运行” 。

    显示选择了“配置运行条件”的屏幕截图。

  4. 清除“成功”属性的相应框。 选择名为“失败”、“已跳过”和“已超时”的属性。

    显示所选“运行条件”属性的屏幕截图。

  5. 完成后,选择“完成”。

若要详细了解异常处理,请参阅处理错误和异常 - RunAfter 属性

常见问题解答

:Azure 计划程序何时停用?
答:Azure 计划程序已在 2022 年 1 月 31 日完全停用。

问:Azure 计划程序停用后,对我的作业集合和作业有何影响?
答:所有 Azure 计划程序作业集合和作业都停止运行,并从系统中删除。

问:在将我的 Azure 计划程序作业迁移到 Azure 逻辑应用之前,是否必须备份或执行任何其他任务?
:最佳做法是始终备份你的工作。 在删除或禁用 Azure 计划程序作业之前,请检查你创建的逻辑应用工作流是否按预期运行。

:从 Azure 计划程序计划 Azure Web 作业会发生什么情况?
答:使用这种计划 Web 作业方式的 Web 作业不在内部使用 Azure 计划程序:“要使计划正常运行,需要将网站配置为‘始终可用’,并且不是 Azure 计划程序,而是计划程序的内部实现。”唯一会受到影响的 Web 作业是那些专门使用 Azure 计划程序通过 Web 作业 API 运行 Web 作业的作业。 可以使用 HTTP 操作从逻辑应用工作流触发这些 Web 作业。

问:是否有可以帮助我将作业从 Azure 计划程序迁移到 Azure 逻辑应用的工具?
答:每个 Azure 计划程序作业都是唯一的,因此不存在一个通用的工具。 但是,可以根据需要编辑此脚本,将 Azure 计划程序作业迁移到 Azure 逻辑应用

问:迁移 Azure 计划程序作业时,可从何处获得支持?
:以下是获得支持的一些方法:

Azure 门户

如果 Azure 订阅具有付费支持计划,则可以在 Azure 门户中创建技术支持请求。 如果没有,则可以选择其他支持选项。

  1. Azure 门户主菜单中,选择“帮助和支持”。

  2. 在“支持”菜单中,选择“新建支持请求” 。 提供有关请求的以下信息:

    属性
    问题类型 技术
    订阅 <your-Azure-subscription>
    服务 选择“计划程序”。
  3. 选择所需的支持选项。 如果有付费支持计划,请选择“下一步”。

社区

后续步骤