展开本页目录
开始前准备什么
- 准备本篇使用的 n8n 错误工作流教程 环境;当前入口与版本参照文末官方来源。
- 将本页下载包解压到独立练习目录,先读原始输入与 README。
- 只运行对应步骤所需依赖;离线检查与目标产品运行分别记录。
- 先定义错误台账的最小列
- 新建 Error Trigger 工作流
- 在主流程选择错误处理流程
- 处理触发器失败时的空字段
- 对错误文本做令牌脱敏
- 先看台账再考虑恢复
1. 先定义错误台账的最小列
只保留定位故障需要的 workflow_id、workflow_name、execution_id、last_node 和脱敏消息。不要把完整请求体、凭据或客户资料整体复制到日志。
2. 新建 Error Trigger 工作流
建立独立错误处理流程,第一节点为 Error Trigger,后续 Code 节点读取 execution.error 或 trigger.error。本例保留两种 fixture,避免只兼容普通执行失败。
3. 在主流程选择错误处理流程
打开主流程 Workflow Settings,在 Error workflow 选择已保存的错误流程。保存只是完成绑定,必须另做真正失败执行观察;本教程没有修改任何线上实例。
config.json · 字段教材,不可作为工作流导入
{
"error_node": "Error Trigger",
"main_settings": "Workflow Settings → Error workflow",
"local_log_columns": [
"workflow_id",
"workflow_name",
"execution_id",
"last_node",
"message_redacted"
],
"manual_test": "离线 fixture 验收不等于 Error Trigger 已触发"
}4. 处理触发器失败时的空字段
触发器失败可能没有 execution.id、url 或 lastNodeExecuted。使用 null 表示未知,仍保留 workflow 信息;不要生成一个看似真实的执行编号。
5. 对错误文本做令牌脱敏
先替换 Authorization: Bearer 后的值与 token= 值,再保存。教材脚本用 TEST_SECRET 检查常见格式;正式日志需扩展已使用的密钥格式和访问权限。
6. 先看台账再考虑恢复
一次失败不等于业务没有执行。根据原执行记录和目标数据决定续跑;错误台账用于定位,不自动重试、外发通知或承诺防重复计费。
7. 下载教材并运行离线核对
先下载完整教材包并解压,在材料目录运行 python3 check-fixture.py。脚本只读取原创输入、人工预期与配置,对照本页固定验收条件;通过说明材料内部关系一致,实际产品、模型与业务写入另需按前六步验证。
bash
unzip lesson.zip -d n8n-error-workflow-redacted-log
cd n8n-error-workflow-redacted-log
python3 check-fixture.py怎样确认已经完成
- 两种错误结构均生成记录,缺 ID 为 null。
- TEST_SECRET 不出现在任何脱敏输出中。
- 错误处理不自动重试或外发消息。
常见问题
手动执行主流程能验证错误流程吗?
不能据此保证。Error Trigger 的实际触发条件须按当前官方文档在隔离实例验收;本页只离线验证错误结构与脱敏。
错误日志保存越全越好吗?
只保存定位需要的字段。消息可能含凭据与业务资料,先脱敏,再按权限和保留周期管理。

