迁移到 Azure 逻辑应用 的第 3 阶段 - 转换:生成工作流

适用于:Azure 逻辑应用(标准)

当复杂源项目难以转换为Azure 逻辑应用(标准)中的可部署资源时,集成项目的迁移过程可能会停滞。 在转换阶段,Visual Studio Code 中的 Azure 逻辑应用 迁移代理会利用批准的规划结果创建并运行有序的转换任务计划。 该过程创建了包括标准工作流定义、连接配置和支持文件在内的工件。

本文介绍如何 Azure 逻辑应用 迁移代理创建转换任务,这些任务将源集成工件映射到可部署的标准逻辑应用项目资源,以及代理如何运行这些任务以生成可部署和运行的项目工件。

转换阶段操作

在Azure 逻辑应用迁移代理中,完成 Plan 逻辑应用设计活动后,创建转换任务活动可用。 选择 创建转换任务活动时,GitHub Copilot 代理会创建生成目标逻辑应用项目工件所需的转换任务。

在你查看这些任务并选择“执行转换任务”活动后,@migration-converterGitHub Copilot 智能体 会按依赖顺序处理所需的任务。 可选的 云部署与测试 任务不包含在此操作中,需要单独审批。

1:生成逻辑应用项目工件

代理 @migration-converter 将生成以下部分中介绍的输出。

Project基架结构

@migration-converter代理首先在文件夹下out创建一个 Visual Studio Code 工作区和一个标准逻辑应用项目。 后续转换任务在批准计划需要时添加一个或多个工作流定义、连接、工件以及一个 .NET 函数项目:

out/
└── <workspace-name>/
    ├── <workspace-name>.code-workspace
    ├── <logic-app-name>/
    │   ├── host.json
    │   ├── local.settings.json
    │   ├── connections.json                 # Added when connectors are configured
    │   ├── <workflow-name>/
    │   │   └── workflow.json
    │   ├── Artifacts/                       # Added only when required
    │   └── lib/custom/                      # Added when local functions are built
    └── Functions/                           # Added only when local functions are required

以下示例展示了 @migration-converter 代理如何创建项目的基架结构和文件:

显示生成逻辑应用标准工作流文件的转换阶段的屏幕截图。

工作流定义文件

对于批准计划中的每个工作流, @migration-converter 代理生成 workflow.json 一个包含以下工作流操作的文件:

操作 Description
Trigger 每个工作流始终以单个触发器(即工作流的入口点)开头。 代理从源中的接收端口或侦听器映射此触发器。
操作 每个工作流都有一个或多个执行任务的操作。 代理从源中的业务流程形状、流处理器或活动映射这些操作。
条件或循环 执行控制流逻辑的操作,例如 If、 For each 和 Until。 代理将源中的决策模型和循环结构翻译成这些操作。
Scopes 具有 run-after 可用于设置错误处理的配置的操作。

连接配置

代理 @migration-converter 会生成一个 connections.json 文件,该文件将连接器操作所需的配置存储在工作流中。

下表描述了高级连接器组:

连接器组 描述和示例
内置 在与 Azure 逻辑应用(标准)运行时相同的进程中运行操作的连接器。 例如,这些连接器包括 Request、File System、HTTP、 Azure Blob 存储、服务总线、SQL Server、AS2、EDIFACT、 X12 等。

有关详细信息,请参阅:

- Azure 逻辑应用 中的内置连接器
- Azure 逻辑应用(标准)内置连接器参考
共享 或“托管” 在多租户 Azure 中运行操作的连接器。 例如, 这些连接器包括 Salesforce、SAP、Office 365 Outlook、Power BI、SharePoint 等。 Azure 逻辑应用支持 1,400 多个共享连接器,适用于云、本地和混合环境中的 Microsoft、Azure 和其他平台。

有关详细信息,请参阅 Azure 逻辑应用 中的托管连接器或共享连接器。
自定义 其他发布者或您的组织为自定义 API 或其他服务创建的连接器。 有关详细信息,请参阅 为标准工作流创建自定义内置连接器。

有关详细信息,请参阅Azure 逻辑应用 中的连接器是什么。

.NET本地函数

如果你的源平台组件在 Azure 逻辑应用(标准@migration-converter版)中没有直接连接器对应,代理可以创建一个独立的 .NET Functions 项目,并在 Logic App 项目的lib/custom文件夹中构建本地函数。 此行为通常在以下情况下发生:

  • 自定义数据转换逻辑
  • 复杂的分析或验证规则
  • 通过自定义协议调用本地系统
  • 业务规则评估

2.检查输出完整性和质量

@migration-converter代理使用no-stubs-code-generation技能,该技能要求生成的输出中不得包含存根实现、占位代码或TODO注释。 这一要求并不能取代人工审核或运行时测试。

该技能对生成文件应用以下标准:

标准 Description
无存根或占位符代码 所有生成的代码都已完成且功能正常。
有效的 JSON 所有 workflow.json 和 connections.json 文件都有效且符合Azure 逻辑应用架构。
正确的引用 工作流操作引用正确的连接和参数。
错误处理 工作流包括适当的错误处理范围。

若要为本地运行工作流进行测试的验证阶段准备生成的输出,请确保手动检查工作流定义、连接以及任何生成的.NET本地函数的不准确情况。

Important

最佳做法是,在使用这些输出之前,请始终查看任何 AI 生成的输出。 此类输出可能包含不正确的信息。

有关详细信息,请参阅 Quickstart:使用 Azure 逻辑应用 迁移代理迁移集成项目。

后续步骤