Azure 逻辑应用 Workflow SDK(Microsoft.Azure.Workflows.Sdk)提供了流流构建器 API,用于在 C# 中程序化构建逻辑应用的工作流定义。 该SDK使开发者能够采用类型安全、支持IntelliSense的方法来定义工作流,而非仅仅使用JSON创作。
体系结构概述
该SDK使用流畅构建器模式通过方法链组合工作流程:
- 入口点:用于创建工作流的 WorkflowFactory,用于访问操作的 WorkflowActions 和 WorkflowTriggers
-
流链式:
Trigger → .Then(Action1) → .Then(Action2) → ... - 依赖注入:通过 IWorkflowProvider 和 WorkflowProviderExtensions 支持工作流注册
类库参考
工作流程组合与链式
定义了工作流程操作如何组合成执行图的类型。
| 类型 | 说明 | 链接 |
|---|---|---|
| IChainableNode | 流链合同提供 Then() 操作组合的方法模式 |
IChainableNode |
| IWorkflow运营 | 带身份和下游子连接的命名工作流操作 | IWorkflow运营 |
| 操作链 | 有向链跟踪起始和终点节点;支持 Join() 扇形图案 |
操作链 |
| 工作流程工厂 | 创建有状态、无状态和代理工作流程定义的工厂方法 | 工作流程工厂 |
操作类型
触发后执行的工作流程动作定义类型。
| 类型 | 说明 | 链接 |
|---|---|---|
| IWorkflowAction | 操作步骤接口与运行后配置 | IWorkflowAction |
| 可实现的工作流操作 | 可变操作的扩展动作接口 | 可实现的工作流操作 |
| 类型化工作流操作接口 | 用于强类型输出的类型安全接口(IBodyWorkflowAction<T>, IOutputWorkflowAction<T>) |
类型化动作接口 |
| 工作流程行动基地 | 抽象基类提供通用的动作功能 | 工作流程行动基地 |
| 工作流程内置操作 | 内置操作的工厂:HTTP、Compose、Respond、CustomCode、NestedWorkflow、Agent | 工作流程内置操作 |
| 工作流程控制操作 | 控制流出厂设置:示范域、条件、ForEach、直到、切换、终止 | 工作流程控制操作 |
| 工作流程变量动作 | 变量操作的工厂:初始化、设置、增量、递减、追加 | 工作流程变量动作 |
| 工作流管理操作 | 可扩展的托管连接器动作(由连接器定义自动生成) | 工作流管理操作 |
触发器类型
用于定义启动执行的工作流程触发器的类型。
| 类型 | 说明 | 链接 |
|---|---|---|
| IWorkflow触发器 | 启动工作流程执行的根触发器接口 | IWorkflow触发器 |
| 类型化工作流触发接口 | 用于强类型输出的类型安全接口(IOutputWorkflowTrigger<T>, IBodyWorkflowTrigger<T>) |
类型触发接口 |
| 工作流程触发基础 | 抽象基类,提供通用的触发功能 | 工作流程触发基础 |
| 工作流程内置触发器 | 内置触发器的工厂:HTTP 请求、递发、会话代理 | 工作流程内置触发器 |
| 工作流程管理触发器 | 可扩展的托管连接器触发器(由连接器定义自动生成) | 工作流程管理触发器 |
报名点与注册
静态入口点和依赖注入辅助工具。
| 类型 | 说明 | 链接 |
|---|---|---|
| 工作流程操作 | 静态入口点,提供对 BuiltIn 行动工厂的访问和 Managed 访问 |
工作流程操作 |
| 工作流程触发器 | 静态入口,提供对 BuiltIn 工厂的访问和 Managed 触发 |
工作流程触发器 |
| IWorkflowProvider | 提供主机注册工作流程定义的接口 | IWorkflowProvider |
| 工作流程提供者扩展 | DI扩展方法: AddWorkflowProvider<T>, AddWorkflowProviders(assembly) |
工作流程提供者扩展 |
运行时间与上下文
工作流程执行中使用的类型。
| 类型 | 说明 | 链接 |
|---|---|---|
| 工作流程上下文 | 抽象上下文,提供运行时对动作和触发结果的访问 | 工作流程上下文 |
| AgentToolContext | 接口和类,为 AI 代理工具提供类型参数访问 | AgentToolContext |
入门
要在您的应用中使用 Logic Apps Standard SDK:
-
引用SDK:将
Microsoft.Azure.Workflows.SdkNuGet包添加到你的项目中 - 实现IWorkflowProvider:通过实现 IWorkflowProvider 接口创建工作流定义
- 使用 WorkflowFactory:使用有状态、无状态或代理工作流使用 WorkflowFactory 方法创建工作流定义
- 访问动作和触发器:使用WorkflowActions和WorkflowTriggers作为可用操作的入口
-
使用流流链构建:使用流流 API 组合工作流程:
trigger.Then(action1).Then(action2)
SDK支持三种工作流类型: 有状态 (在运行间保持状态)、 无状态 (运行但不维护状态 )和代理 (具备对话功能的AI驱动工作流)。