将消耗型工作流导出到标准逻辑应用

在单租户 Azure 逻辑应用中运行的标准逻辑应用工作流提供了许多新功能和改进功能。 例如,你可以获得计算隔离、虚拟网络集成和专用端点以及应用服务环境托管、使用 Visual Studio Code 的本地开发和调试、无状态工作流的低延迟等等。

如果你希望从标准版工作流中获益,但你的工作流在多租户 Azure 逻辑应用中运行,现在你可以将消耗版工作流移动到单租户 Azure 逻辑应用了。 如果需要一些标准版功能(例如隔离和网络集成、更低的延迟或更好的成本可预测性),则此切换非常有用。

现在可以将消耗版逻辑应用导出到标准版逻辑应用了。 使用 Visual Studio Code 和最新的 Azure 逻辑应用(标准)扩展,你可以将逻辑应用作为有状态的工作流导出到标准逻辑应用项目。 然后,你可以在本地更新、测试和调试你的工作流,为重新部署做好准备。 准备就绪后,你可以直接从 Visual Studio Code 或通过你自己的 DevOps 流程进行部署。

注意

导出功能不会迁移你的工作流。 相反,此工具会复制项目,例如工作流定义、连接、集成帐户工件等。 你的源逻辑应用资源、工作流、触发历史、运行历史和其他数据保持不变。

可以控制导出过程和迁移过程。 可以测试和验证导出的工作流,以使你对目标环境感到满意。 可以选择何时禁用或删除源逻辑应用。

本文提供有关导出过程的信息,并展示如何将逻辑应用工作流从 ISE 导出到 Visual Studio Code 中的本地标准逻辑应用项目。

已知问题和限制

  • 导出工具不会导出任何基础架构信息,例如集成帐户设置。

  • 导出工具可以使用具有并发设置的触发器导出逻辑应用工作流。 但是,单租户 Azure 逻辑应用会忽略这些设置。

  • 如果要在同一标准版逻辑应用项目中导出逻辑应用,则逻辑应用必须位于同一区域中。

  • 默认情况下,不会从源逻辑应用工作流克隆连接凭据。 在你的逻辑应用工作流可以运行之前,你必须在导出后重新对这些连接进行身份验证。

  • 默认情况下,如果 Azure 连接器具有内置连接器版本,则导出工具会自动将 Azure 连接器转换为内置连接器。 不存在用于选择退出此行为的选项。

可导出的操作类型

操作 JSON 类型
触发器 内置HttpHttpWebhookRecurrencemanual(请求)

托管:ApiConnectionApiConnectionNotificationApiConnectionWebhook
操作 内置:AppendToArrayVariableAppendToStringVariableComposeDecrementVariableForeachHttpHttpWebhookIfIncrementVariableInitializeVariableJavaScriptCodeJoinParseJsonResponseScopeSelectSetVariableSwitchTableTerminateUntilWait

- 托管:ApiConnectionApiConnectionWebhook

先决条件

  • 要部署到同一订阅和 Azure 区域(例如“中国北部 2”)的一个或多个逻辑应用。

  • Azure 读者需要对当前部署了逻辑应用的订阅具有订阅级访问权限。

  • 如果选择“部署托管连接器”选项,Azure 参与者需要具有资源组级别访问权限。

  • 查看并满足如何使用 Azure 逻辑应用(标准)扩展设置Visual Studio Code的要求。

注意

确保为 Visual Studio Code 的 Azure 逻辑应用(标准版)扩展安装 2.0.16 或更高版本。 一些转换方案需要使用最新的工作流设计器,并将从此版本开始提供。

对要导出的逻辑应用进行分组

借助 Azure 逻辑应用(标准版)扩展,可以将多个消耗版逻辑应用工作流组合到一个标准版逻辑应用项目中。 在单租户 Azure 逻辑应用中,一个标准逻辑应用资源可以有多个工作流。 使用这种方法,你可以预先验证你的工作流程,以便在选择逻辑应用进行导出时不会遗漏任何依赖项。

选择逻辑应用进行导出时,请考虑以下建议:

  • 工作流共享相同资源的分组逻辑应用,例如集成帐户项目、映射和架构,或通过一系列流程使用资源。

  • 对于每个逻辑应用的工作流的组织和数量,请查看最佳实践和建议

将消耗版工作流导出到本地项目

选择要导出的逻辑应用

  1. 在 Visual Studio Code 中,登录 Azure(如果尚未登录)。

  2. 在 Visual Studio Code 的活动栏上,选择“Azure”来打开 Azure 窗口 (Shift + Alt + A)。

    Screenshot showing Visual Studio Code Activity Bar with Azure icon selected.

  3. 在“工作区”部分工具栏上的“Azure 逻辑应用”菜单中,选择“导出逻辑应用”。

    Screenshot showing Azure window, Workspace section toolbar, and Export Logic App selected.

  4. 在“导出”选项卡打开后,选择你的 Azure 订阅和区域,然后选择“下一步”。

    Screenshot showing Export tab with Azure subscription and region selected.

  5. 选择要导出的逻辑应用。 每个选定的逻辑应用都显示在左侧的“所选逻辑应用”列表中。 完成后,选择“下一步” 。

    提示

    还可以搜索逻辑应用并过滤资源组。

    Screenshot showing 'Select logic apps to export' section with logic apps selected for export.

    导出工具开始验证你选择的逻辑应用是否符合导出条件。

查看导出验证结果

  1. 导出验证完成后,通过展开每个逻辑应用的条目来查看结果。

    • 有错误的逻辑应用不符合导出条件。 你必须从导出列表中删除这些逻辑应用,直到你在源头解决方法它们。 要从列表中删除逻辑应用,请选择“后退”。

      例如,SourceLogicApp2 有错误,在修复之前无法导出:

      Screenshot showing 'Review export status' section and validation status for logic app workflow with error.

    • 通过验证(有警告或没有警告)的逻辑应用仍然有资格导出。 要继续,请在所有应用验证成功时选择“导出”,或在应用有警告时选择“带警告的导出”。

      比如 SourceLogicApp3 有警告,但你仍然可以继续导出:

      Screenshot showing 'Review export status' section and validation status for logic app workflow with warning.

    下表提供了有关每个验证图标和状态的更多信息:

    验证图标 验证状态
    Success icon 项目已通过验证,因此可以继续导出而没有问题需要解决。
    Failed icon 项目验证失败,因此无法继续导出。

    失败项目的验证条目会自动展开并提供有关验证失败的信息。
    Warning icon 项目通过验证但出现警告,但导出可以继续执行所需的导出后解析。

    带有警告的项目的验证条目会自动显示为展开状态,并提供有关警告和所需的导出后修复的信息。
  2. 在出现“完成导出”部分后,对于“导出位置”,浏览并选择一个本地文件夹来保存你的新标准逻辑应用项目。

    Screenshot showing 'Finish export' section and 'Export location' property with selected local export project folder.

  3. 如果你的工作流具有你想要部署的托管连接(仅建议用于非生产环境),请选择“部署托管连接”,这会显示你的 Azure 订阅中的现有资源组。 选择要在其中部署托管连接的资源组。

    Screenshot showing 'Finish export' section with selected local export folder, 'Deploy managed connections' selected, and target resource group selected.

  4. 在“导出后步骤”下面,查看所有必需的导出后步骤,例如:

    Screenshot showing 'After export steps' section and required post-export steps, if any.

  5. 根据方案,选择“导出并完成”或“带警告导出并完成”。

    导出工具会将你的项目下载到你选择的文件夹位置,在 Visual Studio Code 中展开项目,并部署任何托管连接(如果你选择了该选项)。

    Screenshot showing the 'Export status' section with export progress.

  6. 此过程完成后,Visual Studio Code 将打开一个新工作区。 你现在可以安全地关闭导出窗口。

  7. 从你的标准逻辑应用项目中,打开并查看 README.md 文件以了解所需的导出后步骤。

    Screenshot showing a new Standard logic app project with README.md file opened.

导出后步骤

修正步骤

一些导出的逻辑应用工作流需要导出后修复步骤才能在标准平台上运行。

  1. 从你的标准逻辑应用项目中,打开 README.md 文件,然后查看导出工作流的修复步骤。 导出工具会生成 README.md 文件,其中包含所有必需的导出后步骤。

  2. 在对源逻辑应用工作流进行任何更改之前,请确保测试新的标准逻辑应用资源和工作流。

集成帐户操作和设置

如果你导出依赖于集成帐户的操作,则必须手动设置标准逻辑应用,并使用指向包含所需工件的集成帐户的参考链接。 有关更多信息,请查看将集成帐户链接到标准逻辑应用

批处理操作和设置

如果使用存储在集成帐户中的多个配置导出使用 Batch 操作的操作,则必须在导出后使用正确的值手动配置 Batch 操作。 有关详细信息,请参阅在 Azure 逻辑应用中发送、接收和批处理消息

项目文件夹结构

导出过程完成后,你的标准逻辑应用项目包含新文件夹和文件以及典型标准逻辑应用项目中的大多数其他文件夹和文件。

下表描述了导出过程添加的这些新文件夹和文件:

Folder 文件 说明
.development\deployment LogicAppStandardConnections.parameters.json 用于部署托管连接器的 Azure 资源管理器模板参数文件
LogicAppStandardConnections.template.json 用于部署托管连接器的 Azure 资源管理器模板定义
LogicAppStandardInfrastructure.parameters.json 用于部署标准逻辑应用资源的 Azure 资源管理器模板参数文件
LogicAppStandardInfrastructure.template.json 用于部署标准逻辑应用资源的 Azure 资源管理器模板定义
.logs\export exportReport.json 导出报告摘要原始文件,其中包括导出后修复所需的所有步骤
exportValidation.json 验证报告原始文件,其中包括每个导出逻辑的验证结果应用
README.md 带有导出结果摘要的 Markdown 文件,包括创建的逻辑应用和所有必需的后续步骤

后续步骤