D: 🚀 n8n에서 Code Node는 단순한 자동화를 넘어 복잡한 비즈니스 로직을 구현할 수 있는 핵심 도구입니다!
오늘은 JavaScript/Python으로 직접 코드를 작성해 자동화의 한계를 뛰어넘는 10가지 실전 예시를 알려드리겠습니다.
1. 🔍 Code Node 기본 이해
- 역할: 다른 노드로 처리하기 어려운 커스텀 로직 구현
- 지원 언어: JavaScript(기본), Python(추가 설정 필요)
- 입출력:
$input
,$node
객체로 데이터 접근 →return
으로 결과 전달
// 기본 구조 예제
return {
result: $input.first().json.message.toUpperCase()
};
2. 💡 10가지 실전 활용 예시
① 데이터 변형 마스터
// JSON 데이터 재구성
const rawData = $input.all();
return rawData.map(item => ({
id: item.json.id,
fullName: `${item.json.firstName} ${item.json.lastName}`,
discount: item.json.price * 0.9
}));
② 외부 API 호출
// axios를 이용한 API 요청
const axios = require('axios');
const response = await axios.get('https://api.example.com/data');
return { apiData: response.data };
③ 복잡한 조건 분기
// 다중 조건 처리
const score = $input.first().json.score;
let grade;
if (score >= 90) grade = 'A';
else if (score >= 80) grade = 'B';
else grade = 'C';
return { grade };
④ 날짜/시간 계산
// 마감일 D-Day 계산
const deadline = new Date('2023-12-31');
const today = new Date();
return {
daysLeft: Math.ceil((deadline - today) / (1000 * 60 * 60 * 24))
};
⑤ 데이터 검증
// 이메일 유효성 검사
const email = $input.first().json.email;
const isValid = /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(email);
return { isValid, email };
⑥ 암호화 처리
// SHA256 해시 생성
const crypto = require('crypto');
const hash = crypto.createHash('sha256')
.update($input.first().json.password)
.digest('hex');
return { hashedPassword: hash };
⑦ 엑셀 데이터 처리
// 엑셀 데이터 가공
const items = $input.all();
const summary = {
total: items.length,
amountSum: items.reduce((sum, item) => sum + item.json.amount, 0)
};
return summary;
⑧ 텍스트 분석
// 키워드 추출
const text = $input.first().json.content;
const keywords = text.toLowerCase().match(/\b(\w{4,})\b/g) || [];
return {
keywords: [...new Set(keywords)].slice(0, 5)
};
⑨ 이미지 메타데이터 처리
// Base64 이미지 분석
const imageData = $input.first().json.image.split(',')[1];
const buffer = Buffer.from(imageData, 'base64');
return {
sizeKB: buffer.length / 1024,
type: buffer.toString('hex', 0, 4)
};
⑩ 에러 핸들링
// 안전한 데이터 처리
try {
const data = $input.first().json;
if(!data) throw new Error('No data');
return { processed: data.value * 2 };
} catch (error) {
return { error: error.message };
}
3. 🛠 Code Node 활용 팁
- 디버깅:
console.log()
사용 → n8n 실행 화면에서 확인 - 모듈 사용: npm 패키지는
require()
로 로드 (단, n8n 서버에 설치 필요) - 성능: 무거운 연산은 가능한 다른 노드로 분할
- 보안: 민감한 데이터는 환경 변수에 저장
4. ❓ 자주 묻는 질문
Q. Python 코드를 사용하려면?
→ n8n 설치 서버에 Python 환경 구성 후 python-node
패키지 설치 필요
Q. 다른 노드의 출력을 어떻게 가져오나요?
→ $node["노드이름"].json["필드명"]
형식으로 접근
Q. 코드 실행 시간 제한이 있나요?
→ 기본 30초 제한 (n8n 설정에서 변경 가능)
🌈 마무리: Code Node는 n8n의 숨겨진 보석입니다! 위 예시들을 응용하면 CRM, ERP, CMS 등 어떤 시스템과도 연동할 수 있는 강력한 자동화 플로우를 구축할 수 있습니다.
💬 여러분의 창의적인 사용법을 댓글로 공유해주세요! 다음 시간에는 ‘n8n + ChatGPT 연동으로 지능형 워크플로우 만들기’를 다룰 예정입니다.