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