Skip to content

getWorkflowStaticData(type)#

这提供对静态工作流数据的访问。

实验性功能

  • 测试工作流时静态数据不可用。工作流必须处于活动状态并由触发器或 webhook 调用才能保存静态数据。
  • 此功能在高频工作流执行下可能表现不可靠。

您可以直接在工作流中保存数据。此数据应该很小。

例如:您可以保存从 RSS 源或数据库处理的最后一个项目的时间戳。它将始终返回一个对象。然后可以在该对象上读取、删除或设置属性。当工作流执行成功时,n8n 会自动检查数据是否已更改,如有必要会保存它。

有两种类型的静态数据:全局和节点。全局静态数据在整个工作流中是相同的。工作流中的每个节点都可以访问它。节点静态数据对节点是唯一的。只有设置它的节点才能再次检索它。

全局数据示例:

 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

节点数据示例:

 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

模板和示例#