N8N中文教程
代码开发/Cookbook/Built in_methods_and_variables_examples

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/)