표현식과 데이터 노드 비교
n8n은 데이터를 다루고 변환하는 여러 가지 방법을 제공합니다. 표현식은 n8n의 {{ ... 표현식은 계산된 값의 즉각적인 미리보기를 제공하는 장점이 있으므로, 가능하면 표현식을 사용하세요. Code 노드는 워크플로우 단계로 실행되는 JavaScript 또는 Python을 작성하는 전용 노드입니다.
n8n은 데이터를 다루고 변환하는 여러 가지 방법을 제공합니다. 각 접근 방식을 언제 사용해야 하는지 이해하면 효율적인 워크플로우를 구축하는 데 도움이 됩니다.
| 접근 방식 | 사용 시점 | 예시 | 사용 가능 환경 |
|---|---|---|---|
| 표현식 | 기존 데이터를 사용하여 단일 파라미터 값을 설정할 때 | {{$json.city}} 가져오기, 날짜 형식 변환, 간단한 수학 |
Cloud 및 Self-hosted |
| Code 노드 | 복잡한 변환을 위해 전체 JavaScript/Python을 작성할 때 | 데이터 재구성, 항목 반복, 외부 라이브러리 사용 | Cloud 및 Self-hosted |
| AI Transform 노드 | 자연어로 변환 코드를 생성할 때 | 사용자별 그룹화 후 합계 계산, 감정별 분류 |
Cloud 전용 |
| 기타 데이터 변환 노드 | 시각적 인터페이스로 일반적인 작업을 수행할 때 | 항목 집계, 배열 분할, 데이터 정렬, 중복 제거 | Cloud 및 Self-hosted |
표현식#
표현식은 n8n의 {{ ... }} 구문을 사용하여 노드 파라미터에 직접 넣는 소규모 JavaScript 유사 코드입니다. 이전 노드의 데이터, 워크플로우 메타데이터, 환경 변수를 사용하여 파라미터 값을 동적으로 설정할 수 있습니다.
표현식은 계산된 값의 즉각적인 미리보기를 제공하는 장점이 있으므로, 가능하면 표현식을 사용하세요.
표현식을 사용하는 경우:
- 이전 노드 데이터에서 값을 가져올 때. 예:
{{$json.body.city}}. - 필드에서 직접 가벼운 변환이나 계산을 수행할 때.
- 추가 노드를 피하고 설정 중인 파라미터에 가까운 로직을 유지할 때.
Code 노드#
Code 노드는 워크플로우 단계로 실행되는 JavaScript 또는 Python을 작성하는 전용 노드입니다. 이전 노드의 수신 데이터에 접근하여 항목을 추가, 제거, 업데이트하는 방식으로 조작할 수 있습니다. $ 구문을 통해 n8n의 내장 메서드와 변수를 사용하여 필요한 모든 사용자 정의 함수를 만들 수 있습니다.
Code 노드를 사용하는 경우:
- 배열 및 객체 재구성, 항목 집계 또는 분할, 사용자 정의 알고리즘 등 표현식이 제공할 수 있는 것보다 더 복잡한 로직이나 데이터 변환이 필요할 때.
- 한 번에 많은 항목을 변환하려고 할 때.
- promise,
console.log를 사용하거나, self-hosted 설정의 경우 외부 npm 모듈을 사용하려고 할 때.
AI Transform 노드#
이 노드는 짧은 자연어 프롬프트를 기반으로 코드 스니펫을 생성합니다. 컨텍스트를 인식하고 워크플로우의 노드와 데이터 유형을 이해합니다. 생성된 코드는 노드에서 읽기 전용이며, Code 노드에 복사하여 편집할 수 있습니다.
AI Transform 노드를 사용하는 경우:
- 원하는 변환이 무엇인지는 알지만 직접 코드를 작성하고 싶지 않을 때.
- AI가 변환 로직의 초안을 작성하고 노드에서 직접 실행하거나, 추가 사용자 정의를 위해 Code 노드로 복사하려고 할 때.
기타 데이터 변환 노드#
n8n은 데이터를 변환하는 노드 모음을 제공합니다:
- Aggregate: 별도의 항목 또는 그 일부를 가져와서 개별 항목으로 그룹화합니다.
- Limit: 정의된 최대 수를 초과하는 항목을 제거합니다.
- Remove Duplicates: 모든 필드 또는 필드의 일부에서 동일한 항목을 식별하고 삭제합니다.
- Sort: 원하는 순서로 목록을 정렬하거나 무작위 선택을 생성합니다.
- Split Out: 목록이 포함된 단일 데이터 항목을 여러 항목으로 분리합니다.
- Summarize: Excel 피벗 테이블과 유사한 방식으로 항목을 집계합니다.
데이터 변환 노드를 사용하는 경우:
- 필요한 작업이 특정 변환 노드의 목적과 일치할 때.
- 안내된 UI를 갖춘 노코드 솔루션을 원할 때.
- 표현식이나 코드를 작성하는 것보다 시각적 워크플로우 구성을 선호할 때.
