InfoGrab DocsInfoGrab Docs

getWorkflowStaticData(type)

요약

이 메서드는 워크플로 정적 데이터에 대한 접근을 제공합니다. 실행 간에 데이터를 유지하려면 데이터 테이블을 고려하세요. 데이터를 워크플로에 직접 저장할 수 있습니다. 예를 들어, RSS 피드나 데이터베이스에서 마지막으로 처리한 항목의 타임스탬프를 저장할 수 있습니다.

이 메서드는 워크플로 정적 데이터에 대한 접근을 제공합니다.

Note

데이터 테이블 사용 검토

실행 간에 데이터를 유지하려면 데이터 테이블을 고려하세요. 데이터 테이블은 테스트 실행에서도 작동하며 Code 노드가 필요하지 않습니다. 대신 데이터 테이블 사용을 참고하세요.

정적 데이터는 실험적 기능입니다.

  • 정적 데이터는 워크플로 테스트 중에는 사용할 수 없습니다. 정적 데이터를 저장하려면 워크플로가 게시되어 있어야 하며 트리거1 또는 웹훅에 의해 호출되어야 합니다.
  • 이 기능은 고빈도 워크플로 실행 시 불안정하게 동작할 수 있습니다.

데이터를 워크플로에 직접 저장할 수 있습니다. 이 데이터는 크기가 작아야 합니다.

예를 들어, RSS 피드나 데이터베이스에서 마지막으로 처리한 항목의 타임스탬프를 저장할 수 있습니다. 이 메서드는 항상 객체를 반환합니다. 이후 해당 객체에서 속성을 읽거나, 삭제하거나, 설정할 수 있습니다. 워크플로 실행이 성공하면 n8n은 데이터가 변경되었는지 자동으로 확인하고, 필요한 경우 저장합니다.

정적 데이터에는 전역(global)과 노드(node) 두 가지 유형이 있습니다. 전역 정적 데이터는 전체 워크플로에서 동일합니다. 워크플로의 모든 노드가 이 데이터에 접근할 수 있습니다. 노드 정적 데이터는 노드마다 고유합니다. 해당 데이터를 설정한 노드만 다시 가져올 수 있습니다.

정적 데이터는 JavaScript Code 노드에서만 사용할 수 있습니다. Python Code 노드는 정적 데이터를 제공하지 않습니다.

전역 데이터 예제:

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

노드 데이터 예제:

// 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;
참고

이 섹션의 상세 내용은 n8n 공식 문서를 참조하세요.

템플릿 및 예제#

워크플로 예제

대화형 워크플로 데모입니다. 워크플로 JSON 보기 또는 n8n 공식 문서에서 확인하세요.

대신 데이터 테이블 사용#

데이터 테이블은 Code 노드 없이 n8n 내부에 데이터를 저장하며, 워크플로를 테스트할 때도 데이터가 유지됩니다.

마지막으로 처리한 항목 같은 표식을 데이터 테이블에 저장하려면 다음과 같이 합니다.

  1. 워크플로 시작 부분에 Data Table 노드를 추가하고, Get row 작업으로 저장된 값을 읽습니다.
  2. 이후 노드에서 {{ $('Get row').item.json.lastExecution }} 같은 표현식으로 해당 값을 참조합니다.
  3. 워크플로 끝부분에 두 번째 Data Table 노드를 추가하고, Upsert row 작업으로 새 값을 기록합니다.

정적 데이터와 달리 데이터 테이블 값은 표현식이나 Code 노드에서 직접 읽을 수 없습니다. 먼저 Data Table 노드로 행을 읽은 다음 해당 노드의 출력을 참조하세요.

관련 리소스#

Footnotes

  1. 트리거 노드는 특정 조건에 따라 워크플로를 실행하는 역할을 하는 특수한 노드입니다. 모든 프로덕션 워크플로는 워크플로 실행 시점을 결정하기 위해 최소 하나의 트리거가 필요합니다. ↩

getWorkflowStaticData(type)

n8n v2.42
원문 보기

요약

이 메서드는 워크플로 정적 데이터에 대한 접근을 제공합니다. 실행 간에 데이터를 유지하려면 데이터 테이블을 고려하세요. 데이터를 워크플로에 직접 저장할 수 있습니다. 예를 들어, RSS 피드나 데이터베이스에서 마지막으로 처리한 항목의 타임스탬프를 저장할 수 있습니다.

이 메서드는 워크플로 정적 데이터에 대한 접근을 제공합니다.

Note

데이터 테이블 사용 검토

실행 간에 데이터를 유지하려면 데이터 테이블을 고려하세요. 데이터 테이블은 테스트 실행에서도 작동하며 Code 노드가 필요하지 않습니다. 대신 데이터 테이블 사용을 참고하세요.

정적 데이터는 실험적 기능입니다.

  • 정적 데이터는 워크플로 테스트 중에는 사용할 수 없습니다. 정적 데이터를 저장하려면 워크플로가 게시되어 있어야 하며 트리거1 또는 웹훅에 의해 호출되어야 합니다.
  • 이 기능은 고빈도 워크플로 실행 시 불안정하게 동작할 수 있습니다.

데이터를 워크플로에 직접 저장할 수 있습니다. 이 데이터는 크기가 작아야 합니다.

예를 들어, RSS 피드나 데이터베이스에서 마지막으로 처리한 항목의 타임스탬프를 저장할 수 있습니다. 이 메서드는 항상 객체를 반환합니다. 이후 해당 객체에서 속성을 읽거나, 삭제하거나, 설정할 수 있습니다. 워크플로 실행이 성공하면 n8n은 데이터가 변경되었는지 자동으로 확인하고, 필요한 경우 저장합니다.

정적 데이터에는 전역(global)과 노드(node) 두 가지 유형이 있습니다. 전역 정적 데이터는 전체 워크플로에서 동일합니다. 워크플로의 모든 노드가 이 데이터에 접근할 수 있습니다. 노드 정적 데이터는 노드마다 고유합니다. 해당 데이터를 설정한 노드만 다시 가져올 수 있습니다.

정적 데이터는 JavaScript Code 노드에서만 사용할 수 있습니다. Python Code 노드는 정적 데이터를 제공하지 않습니다.

전역 데이터 예제:

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

노드 데이터 예제:

// 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;
참고

이 섹션의 상세 내용은 n8n 공식 문서를 참조하세요.

템플릿 및 예제#

워크플로 예제

대화형 워크플로 데모입니다. 워크플로 JSON 보기 또는 n8n 공식 문서에서 확인하세요.

대신 데이터 테이블 사용#

데이터 테이블은 Code 노드 없이 n8n 내부에 데이터를 저장하며, 워크플로를 테스트할 때도 데이터가 유지됩니다.

마지막으로 처리한 항목 같은 표식을 데이터 테이블에 저장하려면 다음과 같이 합니다.

  1. 워크플로 시작 부분에 Data Table 노드를 추가하고, Get row 작업으로 저장된 값을 읽습니다.
  2. 이후 노드에서 {{ $('Get row').item.json.lastExecution }} 같은 표현식으로 해당 값을 참조합니다.
  3. 워크플로 끝부분에 두 번째 Data Table 노드를 추가하고, Upsert row 작업으로 새 값을 기록합니다.

정적 데이터와 달리 데이터 테이블 값은 표현식이나 Code 노드에서 직접 읽을 수 없습니다. 먼저 Data Table 노드로 행을 읽은 다음 해당 노드의 출력을 참조하세요.

관련 리소스#

Footnotes

  1. 트리거 노드는 특정 조건에 따라 워크플로를 실행하는 역할을 하는 특수한 노드입니다. 모든 프로덕션 워크플로는 워크플로 실행 시점을 결정하기 위해 최소 하나의 트리거가 필요합니다. ↩