Skip to Content

搭建行为流

行为流是在服务端运行的业务逻辑。它可以接收入参、编排多个节点并返回出参,也可以由前端行为、触发器、运行时 API 或其他行为流调用。

如果你还不了解前端行为与后端行为流的区别,请先阅读交互模型

免费版支持配置 1 个行为流,高级版及以上支持配置无限个行为流。定时和数据库变更触发器会消耗自动化执行次数。

适用场景

  • 在一个事务中完成订单创建、库存扣减等多步数据库操作。
  • 定时检查未支付订单并发送通知。
  • 接收 Webhook,并根据回调数据更新业务状态。
  • 封装可由多个页面、API 或其他行为流复用的服务端逻辑。
  • 执行包含 API、AI、条件、列表循环或运行代码节点的复杂任务。

配置流程

创建行为流并选择执行模式

打开顶部的行为,进入行为流,然后创建行为流并设置名称。执行模式决定数据库事务和超时方式:

  • 同步执行:数据库操作节点可以统一提交或回滚,但整个行为流受同步执行的总时长限制。
  • 异步执行:不提供跨节点的整体数据库事务,适合耗时较长的流程。包含 AI 智能体节点的行为流必须使用异步执行。

执行模式会影响事务与超时,详见下文的执行模式与事务超时策略

配置入参、出参和变量

  • 入参:调用行为流时需要传入的数据,可被行为流内的所有节点引用。
  • 出参:行为流完成后返回给调用方的数据。
  • 行为流变量:行为流内部共享的临时数据,可通过“赋值行为流变量”节点更新,常用于汇总不同分支的处理结果。

为入参、出参和变量设置清晰、稳定的名称,并确保类型与调用方传入或接收的数据一致。

添加并配置节点

点击 + 添加节点,并按照业务执行顺序配置数据库、API、行为流、AI 智能体、条件、列表循环、运行代码等节点。

后续节点可以通过以下路径读取前序节点的结果:

行为流数据 → 节点名称 → 字段名

数据只能从已执行的前序节点传向后续节点。条件或循环内产生的结果具有分支作用域;如果需要在分支外使用,请先写入行为流变量。

完整节点列表与参数说明请参考行为流节点

配置触发器

行为流支持配置多个触发器:

  • 定时:按照设定时间或 Cron 表达式周期运行。
  • 数据库变更:数据库中的指定数据发生变化时运行。
  • Webhook:接收外部系统回调时运行。支付回调属于 Webhook 的特殊用法。

同一个行为流可以配置多个触发器。每个触发器都应绑定行为流所需的入参。详细配置请参考触发器

如果行为流只由前端、运行时 API 或其他行为流调用,可以不配置触发器。

配置权限

在行为流的 设置 → 权限 中配置允许调用该行为流的角色。

权限会限制以下调用:

  • 前端通过 调用行为流 发起的调用。
  • 开发者通过运行时 API 直接发起的调用。

权限不限制定时、数据库变更和 Webhook 触发器执行,也不限制其他行为流在服务端调用该行为流。

行为流权限设置示意图

部署变更

行为流修改会自动保存。以下两种操作都会发布最新的行为流配置:

  • 更新预览:更新前端预览内容,同时发布行为流、API、AI 智能体等后端配置。
  • 同步变更:只发布行为流、API、AI 智能体等后端配置,不更新前端预览内容。

行为流发布后会立即影响线上应用:已发布的前端再次调用该行为流时,会执行最新发布的行为流配置。因此,修改现有行为流时,需要同时评估对预览环境和线上应用的影响。

调用行为流

行为流可以通过以下方式调用:

  • 触发器:配置定时、数据库变更或 Webhook 触发器。同一个行为流可以配置多个触发器。
  • 页面或组件:在触发器中添加 调用行为流 行为,选择目标行为流并绑定入参。
  • 其他行为流:添加 调用行为流 节点,选择目标行为流并绑定入参。后续节点可以读取该节点返回的出参。
  • Runtime API:通过代码调用行为流或获取异步任务结果,详见 Runtime API 参考 - 行为流

从页面或组件调用时,行为流执行完成后进入 成功时 分支,执行失败后进入 失败时 分支。在 成功时 分支中,可通过以下路径读取行为流出参:

上下文 → 行为结果 → 调用行为流 → 字段名

查看运行日志

进入 项目详情 → 运行日志 查看行为流的执行状态、节点输入输出和错误信息。可以按行为流 ID 精确筛选日志。

执行模式与事务

同步执行

同步行为流会等待执行结果。只有数据库操作节点参与数据库事务:

  • 行为流成功时,事务中的数据库修改统一提交。
  • 行为流执行失败时,事务中已经完成的数据库修改统一回滚。
  • API、AI、支付、文件等外部操作不属于数据库事务,已经产生的外部副作用不会自动回滚。

因此,涉及外部系统时,应设计幂等、重试或补偿逻辑,不能依赖数据库事务撤销外部操作。

异步执行

异步行为流在后台运行,不提供跨节点的整体数据库事务。

平台前端会在行为流执行完成后进入对应的 成功时失败时 分支;开发者通过代码调用时,可以使用 Runtime API 查询或订阅异步任务结果。

超时策略

行为流的超时由执行模式、项目版本和节点类型共同决定。

按执行模式

  • 同步执行:受 API 网关限制,调用方等待时间上限约为 60 秒。超时后客户端立即收到错误,但后台进程会继续运行,直到达到项目版本对应的执行上限。
  • 异步执行:没有全局总时长限制。只要内部节点没有超时,行为流就可以继续在后台运行。

项目版本上限

对于同步行为流,版本上限约束整个行为流的总运行时间;对于异步行为流,版本上限约束单个节点的最大运行时间,例如运行代码节点。

项目版本执行上限
免费版15 秒
高级版 / 专业版10 分钟
单租户版(独享服务器)无固定上限,默认 10 分钟

节点级约束

节点级限制优先约束对应节点:

节点或场景超时限制
AI 节点全版本统一为 10 分钟
支付回调5 分钟
API 节点60 秒,从发起请求到接收完整数据
数据库节点数据库连接排队通常限制在约 5 秒;SQL 实际执行时间最终受项目版本的全局上限约束
⚠️

同步行为流即使在后台仍可继续执行,前端也可能已经因 60 秒网关超时进入 失败时。不要依赖超过网关等待时间的同步结果;耗时任务应改为异步执行。

Last updated on