getWorkflowStaticData(type)#
此方法用于访问工作流的静态数据。 实验性功能
- 在测试工作流时,静态数据不可用。必须激活工作流,并通过 触发器 或 webhook 调用,才能保存静态数据。
- 在高频执行工作流的情况下,该功能的行为可能不稳定。
你可以直接将数据保存在工作流中。这些数据应尽量小。 例如:可以保存从 RSS 源或数据库中最后处理项的时间戳。该方法始终返回一个对象,你可以在该对象上读取、删除或设置属性。当工作流执行成功后,n8n 会自动检查数据是否发生变化,并在必要时进行保存。 静态数据有两种类型:全局(global)和节点(node)。全局静态数据在整个工作流中是共享的,每个节点都可以访问它;而节点静态数据是特定于某个节点的,只有设置该数据的节点才能再次获取。
使用全局数据的示例: JavaScriptPython
1
2
3
4
5
6
7
8
9
10
11| ``` // 获取全局工作流静态数据 const workflowStaticData = $getWorkflowStaticData('global');
// 访问其数据 const lastExecution = workflowStaticData.lastExecution;
// 更新其数据 workflowStaticData.lastExecution = new Date().getTime();
// 删除数据 delete workflowStaticData.lastExecution;
---|---1 2 3 4 5 6 7 8 9 10 11
| ```
# 获取全局工作流静态数据
workflowStaticData = _getWorkflowStaticData('global')
# 访问其数据
lastExecution = workflowStaticData.lastExecution
# 更新其数据
workflowStaticData.lastExecution = new Date().getTime()
# 删除数据
delete workflowStaticData.lastExecution---|--- 使用节点数据的示例: JavaScriptPython
1
2
3
4
5
6
7
8
9
10
11| ``` // 获取节点的静态数据 const nodeStaticData = $getWorkflowStaticData('node');
// 访问其数据 const lastExecution = nodeStaticData.lastExecution;
// 更新其数据 nodeStaticData.lastExecution = new Date().getTime();
// 删除数据 delete nodeStaticData.lastExecution;
---|---1 2 3 4 5 6 7 8 9 10 11
| ```
# 获取节点的静态数据
nodeStaticData = _getWorkflowStaticData('node')
# 访问其数据
lastExecution = nodeStaticData.lastExecution
# 更新其数据
nodeStaticData.lastExecution = new Date().getTime()
# 删除数据
delete nodeStaticData.lastExecution
---|---
## 模板与示例[#](https://docs.n8n.io/code/cookbook/builtin/get-workflow-static-data/#templates-and-examples "永久链接")
[查看模板详情](https://n8n.io/workflows/2538-demo-workflow-how-to-use-workflowstaticdata/)