触发器全局属性
触发器全局属性决定它监听的时机、是否生效以及运行状态。
概述
在触发器的编排页(画布页面)中维护全局属性。画布顶部的信息区与操作区集中了所有全局配置入口:触发对象、最近修改时间、发布状态、触发条件、发布 / 取消发布、执行日志。
提示
发布状态与触发条件共同决定触发器是否会被执行:只有 Status = Published 的触发器才会参与数据变更匹配;触发条件只在勾选了「数据修改时」后才可配置。
配置项
| 配置项 | 说明 |
|---|---|
| 名称 | 触发器显示名称,必填,长度受限 |
| 描述 | 触发器用途说明,可选 |
| 触发对象 | 该触发器监听的实体对象,创建后不可修改,点击可跳转实体对象详情 |
| 触发类型 | 触发时机,可多选:数据新增时 / 数据修改时 / 数据删除时,至少勾选一个才能发布 |
| 触发条件 | 仅对「数据修改时」生效,配置哪些字段变化才触发,详见 触发条件 |
| 编排版本 | 每次「保存并发布」生成一个新版本,可切换查看历史版本 |
| 发布状态 | 已发布 / 未发布;「取消发布」后触发器不再执行 |
| 最近修改时间 | 展示最后一次修改时间 |
基本信息
名称与描述在列表页的「新增 / 编辑」弹窗中维护。名称必填且受长度限制,创建后自动打开编排页。
触发对象
触发对象在创建触发器时确定(取自当前实体对象),创建后不可修改。服务端编辑接口采用部分更新,MetaObjectId 被显式排除,任何传入的触发对象都会被忽略。
触发类型与触发条件
触发类型是可组合的标志位,可同时勾选多个;触发条件只对「数据修改时」生效。两者的完整语义、组合方式与存储结构见 触发条件。
配置入口:编排页顶部的「触发条件」按钮,弹窗内先勾选触发类型,再配置条件项。
编排版本与发布
- 每次保存并发布都会生成一个新的编排版本(
MetaFlowVersion),并更新触发器的Version指向新版本。 - 平台只保留最近的 20 个版本,超出后自动清理最早的历史版本,并同步清理这些版本对应的执行日志。
- 「取消发布」把发布状态改回未发布,触发器的编排与配置均保留,可再次发布。
发布时会做强校验,以下情况会导致发布失败:
| 校验 | 失败条件 |
|---|---|
| 触发类型 | 未勾选任何触发类型(TriggerType = None) |
| 触发条件 | 未勾选「数据修改时」,但存在非空触发条件 |
| 编排合法性 | 画布节点不在允许范围内,或缺少唯一的「触发开始」入口 |
执行信息
触发器会记录最近一次真实执行的结果,用于列表快速查看:
| 属性 | 说明 |
|---|---|
| 上次执行时间 | 最近一次真实执行时间;熔断跳过不更新 |
| 上次执行结果 | 成功 / 失败 |
| 上次执行耗时 | 执行耗时(秒,保留两位小数) |
更细的逐节点执行明细在「执行日志」中查看,详见 触发器组件与运行机制。
下一步
- 触发条件 - 触发类型与条件项的类型、取值与组合
- 触发器组件与运行机制 - 编排组件、执行日志与运行限制
- 对象触发器 - 返回总览
全局属性明细
以下内容面向技术实现与 AI 检索。
属性与存储值
| 属性名 | 类型 | 含义 | 取值/存储值 |
|---|---|---|---|
Name | string | 触发器名称 | 必填,VerifyLengthLimit 校验 |
Description | string | 触发器描述 | 纯文本,可为空 |
MetaObjectId | string(GUID) | 触发对象 Id | 创建后不可修改,编辑时被忽略 |
TriggerType | TriggerTypeEnum | 触发类型(Flags) | None=0 / Add=1 / Update=2 / Delete=4 |
TriggerCondition | string | 触发条件 JSON | 未勾选 Update 时服务端强制置为 null |
Version | string(GUID) | 当前发布版本 Id | MetaFlowVersion._id |
Status | PublishStatusEnum | 发布状态 | UnPublish=0 / Published=1 |
LastExecuteTime | datetime? | 上次执行时间(UTC) | 例:2026-03-11T07:21:45 |
LastExecuteStatus | ExecuteStatusEnum? | 上次执行结果 | UnExecute=0 / Success=1 / Failure=2 |
LastConsumptionSeconds | double? | 上次执行耗时(秒) | 例:0.42 |
枚举定义
// TriggerTypeEnum(Flags,可组合)
None = 0; // 未配置
Add = 1; // 数据新增时
Update = 2; // 数据修改时
Delete = 4; // 数据删除时
// PublishStatusEnum
UnPublish = 0; // 未发布
Published = 1; // 已发布
// ExecuteStatusEnum
UnExecute = 0; // 未执行
Success = 1; // 成功
Failure = 2; // 失败
触发类型组合示例
TriggerType 为按位或的组合值:
| 勾选 | 存储值 |
|---|---|
| 数据新增时 | 1 |
| 数据修改时 | 2 |
| 数据删除时 | 4 |
| 数据新增时 + 数据修改时 | 3 |
| 数据新增时 + 数据修改时 + 数据删除时 | 7 |
存储示例
事务性更新触发器状态与上次执行信息:
{
"TriggerType": 2,
"TriggerCondition": null,
"Version": "c3d9a4b2-5e18-4f76-b0aa-2d6c8e1f4b73",
"Status": 1,
"LastExecuteTime": "2026-03-11T07:21:45",
"LastExecuteStatus": 1,
"LastConsumptionSeconds": 0.42
}
相关接口
| 接口 | 说明 |
|---|---|
POST /api/MetaTrigger/Edit | 部分更新名称、描述、触发类型、触发条件(MetaObjectId 不参与更新) |
POST /api/MetaTrigger/SaveAndPublish | 保存画布并发布,同时强校验触发类型与条件 |
POST /api/MetaTrigger/Cancel | 取消发布,Status 置为 UnPublish |
GET /api/MetaTrigger/GetWithVersions | 获取触发器与全部编排版本列表 |