getWorkflowStaticData(type)
n8n v2.29이 메서드는 워크플로 정적 데이터에 대한 접근을 제공합니다. 데이터를 워크플로에 직접 저장할 수 있습니다. 예를 들어, RSS 피드나 데이터베이스에서 마지막으로 처리한 항목의 타임스탬프를 저장할 수 있습니다. 정적 데이터에는 전역(global)과 노드(node) 두 가지 유형이 있습니다.
이 메서드는 워크플로 정적 데이터에 대한 접근을 제공합니다.
실험적 기능
- 정적 데이터는 워크플로 테스트 중에는 사용할 수 없습니다. 정적 데이터를 저장하려면 워크플로가 활성화되어 있어야 하며 트리거1 또는 웹훅에 의해 호출되어야 합니다.
- 이 기능은 고빈도 워크플로 실행 시 불안정하게 동작할 수 있습니다.
데이터를 워크플로에 직접 저장할 수 있습니다. 이 데이터는 크기가 작아야 합니다.
예를 들어, RSS 피드나 데이터베이스에서 마지막으로 처리한 항목의 타임스탬프를 저장할 수 있습니다. 이 메서드는 항상 객체를 반환합니다. 이후 해당 객체에서 속성을 읽거나, 삭제하거나, 설정할 수 있습니다. 워크플로 실행이 성공하면 n8n은 데이터가 변경되었는지 자동으로 확인하고, 필요한 경우 저장합니다.
정적 데이터에는 전역(global)과 노드(node) 두 가지 유형이 있습니다. 전역 정적 데이터는 전체 워크플로에서 동일합니다. 워크플로의 모든 노드가 이 데이터에 접근할 수 있습니다. 노드 정적 데이터는 노드마다 고유합니다. 해당 데이터를 설정한 노드만 다시 가져올 수 있습니다.
전역 데이터 예제:
JavaScript
// Get the global workflow static data
const workflowStaticData = $getWorkflowStaticData('global');
// Access its data
const lastExecution = workflowStaticData.lastExecution;
// Update its data
workflowStaticData.lastExecution = new Date().getTime();
// Delete data
delete workflowStaticData.lastExecution;
Python
# Get the global workflow static data
workflowStaticData = _getWorkflowStaticData('global')
# Access its data
lastExecution = workflowStaticData.lastExecution
# Update its data
workflowStaticData.lastExecution = new Date().getTime()
# Delete data
delete workflowStaticData.lastExecution
노드 데이터 예제:
JavaScript
// Get the static data of the node
const nodeStaticData = $getWorkflowStaticData('node');
// Access its data
const lastExecution = nodeStaticData.lastExecution;
// Update its data
nodeStaticData.lastExecution = new Date().getTime();
// Delete data
delete nodeStaticData.lastExecution;
Python
# Get the static data of the node
nodeStaticData = _getWorkflowStaticData('node')
# Access its data
lastExecution = nodeStaticData.lastExecution
# Update its data
nodeStaticData.lastExecution = new Date().getTime()
# Delete data
delete nodeStaticData.lastExecution
템플릿 및 예제#
대화형 워크플로 데모입니다. 워크플로 JSON 보기 또는 n8n 공식 문서에서 확인하세요.
Footnotes
-
트리거 노드는 특정 조건에 따라 워크플로를 실행하는 역할을 하는 특수한 노드입니다. 모든 프로덕션 워크플로는 워크플로 실행 시점을 결정하기 위해 최소 하나의 트리거가 필요합니다.
↩