D: 🚀 n8n의 Set 노드는 워크플로우에서 데이터를 조작하고 변환하는 데 필수적인 도구입니다. 이 가이드에서는 Set 노드의 모든 기능을 상세히 설명하고, 실제 활용 예시 10가지를 통해 데이터를 자유자재로 다루는 방법을 알려드리겠습니다!
🔍 Set 노드란?
Set 노드는 n8n 워크플로우에서 데이터를 생성, 수정, 삭제할 수 있는 핵심 노드입니다. JSON 데이터를 쉽게 조작할 수 있어 API 응답 가공, 데이터베이스 입력 전처리 등에 활용됩니다.
// 기본 구조 예시
{
"name": "John",
"age": 30,
"city": "New York"
}
📌 Set 노드 주요 기능
-
값 설정 (Set)
- 새 필드 추가 또는 기존 필드 값 변경
{{ $node["PreviousNode"].json["field"] }}
형태로 다른 노드 값 참조 가능
-
값 삭제 (Delete)
- 불필요한 필드 제거
- 민감정보 가공시 유용
-
문자열 처리
- 대소문자 변환, 문자열 결합 등
- 예:
{{ $json["firstName"].toUpperCase() }}
-
수학 연산
- 가격 계산, 할인율 적용 등
- 예:
{{ $json["price"] * 0.9 }}
(10% 할인)
🎯 10가지 실전 활용법
1. API 응답 가공하기
// 원본 API 응답
{
"user_id": 12345,
"user_name": "john_doe"
}
// Set 노드 설정
"displayName": "{{ $json.user_name.toUpperCase() }}",
"userId": "USER_{{ $json.user_id }}"
2. 데이터베이스 입력 전처리
"fullAddress": "{{ $json.street }}, {{ $json.city }} {{ $json.zipcode }}",
"createdAt": "{{ new Date().toISOString() }}"
3. 다중 데이터 소스 병합 (✨ 인기 패턴!)
"userProfile": {
"basic": "{{ $node['CRM'].json }}",
"purchase": "{{ $node['OrderDB'].json }}"
}
4. 조건부 데이터 처리
"discountPrice": "{{ $json.price > 100 ? $json.price * 0.8 : $json.price }}"
5. 배열 데이터 변환
"productTitles": "{{ $json.products.map(p => p.title).join(', ') }}"
6. 날짜 포맷팅
"readableDate": "{{ new Date($json.timestamp).toLocaleDateString() }}"
7. 데이터 마스킹 (보안)
"securePhone": "{{ $json.phone.slice(0,3) }}****{{ $json.phone.slice(7) }}"
8. 다국어 처리 준비
"i18n": {
"en": "Hello {{ $json.name }}!",
"ko": "안녕하세요 {{ $json.name }}님!"
}
9. 웹훅 데이터 정규화
"normalized": {
"eventType": "{{ $json.event_type.toLowerCase() }}",
"receivedAt": "{{ new Date().toISOString() }}"
}
10. 에러 핸들링용 플래그 추가
"isValid": "{{ $json.email.includes('@') && $json.password.length > 8 }}"
💡 고급 사용 팁
- 표현식 빌더 활용: 코드 작성을 도와주는 GUI 도구
- JavaScript 함수 사용:
split()
,join()
,Math
함수 등 적용 가능 - 다중 작업 구성: 한 Set 노드에서 여러 작업 순차 실행
- 디버깅: 오른쪽 패널에서 단계별 결과 확인
⚠️ 주의사항
- 너무 복잡한 로직은 Function 노드로 분리
- 대량 데이터 처리시 성능 저하 가능성
- 표현식 오류시
null
반환되므로 기본값 설정 추천
🏁 마무리
Set 노드는 n8n에서 가장 강력하면서도 자주 사용되는 노드 중 하나입니다. 이 가이드의 예제들을 참고하면 복잡한 데이터 변환도 쉽게 처리할 수 있을 거예요! 🎉
> 💬 실제 프로젝트에서 Set 노드를 어떻게 활용하시나요? 댓글로 여러분의 창의적인 사용법을 공유해주세요!
📌 더 배우고 싶다면?
- n8n 공식 문서 – Set 노드
- n8n 커뮤니티에서 “Advanced Set Node Techniques” 웨비나 시청하기