약간 긴 소개#
이 가이드는 n8n에서 workflow를 사용하여 작업을 자동화하는 방법을 보여주며, 그 과정에서 주요 개념을 설명합니다. 여러분은:
- 처음부터 workflow를 만듭니다. NASA의 데이터를 가져오고, 데이터를 필터링하고, 두 개의 보고서를 생성하는 매주 실행되는 workflow를 구축합니다.
- 다음을 포함한 주요 개념 및 기술을 이해합니다:
- 트리거 노드로 workflow 시작하기
- credentials 구성하기
- 데이터 조작하기
- n8n workflow에서 논리 표현하기
- expressions 사용하기
첫 번째 단계: n8n 가입하기#
이미 n8n을 설치했거나 Cloud 계정에 가입한 경우 이 섹션을 건너뛰세요.
n8n은 Cloud 서비스, npm 모듈, Docker 이미지로 제공됩니다.
이 빠른 시작 가이드에서는 Cloud 사용을 권장합니다. 신규 사용자는 무료 체험을 이용할 수 있습니다.
두 번째 단계: 새 workflow 만들기#
n8n을 열면 다음 중 하나가 표시됩니다:
- 빈 워크플로: 처음 로그인하고 워크플로가 없는 경우. 이 워크플로를 사용하세요.
- 개요(Overview) 페이지의 워크플로(Workflows) 목록. 새 워크플로를 만들려면
버튼을 선택하세요.
세 번째 단계: 트리거 노드 추가하기#
n8n은 workflow를 시작하는 두 가지 방법을 제공합니다:
- Test Workflow를 선택하여 수동으로 시작하거나, npm 또는 Docker로 n8n을 설치했다면 CLI에서 시작할 수 있습니다.
- 외부 이벤트에 응답하거나 설정에 따라 workflow를 시작하는 첫 번째 노드로 트리거 노드를 자동으로 사용할 수 있습니다.
이 자습서에서는 Schedule trigger를 사용합니다. 이는 워크플로우를 계획에 따라 실행할 수 있게 해줍니다:
- Add first step을 선택합니다.
- Schedule을 검색합니다. n8n은 검색과 일치하는 노드 목록을 보여줍니다.
- Schedule Trigger를 선택하여 노드를 캔버스에 추가합니다. n8n이 노드를 엽니다.
- Trigger Interval에서 Weeks를 선택합니다.
- Weeks Between Triggers에
1
을 입력합니다. - 시간과 요일을 입력합니다. 이 예제에서는 Trigger on Weekdays에서 Monday를 선택하고, Trigger at Hour에서 9am을 선택하며, Trigger at Minute에서
0
을 입력합니다. - 노드 세부 정보 뷰를 닫아 캔버스에 돌아갑니다.
네 번째 단계: NASA 노드 추가 및 자격 증명 설정하기#
NASA node는 NASA의 public APIs와 상호작용할 수 있게 해줍니다. API는 이 자습서에서 작업할 데이터를 제공합니다.
- Schedule Trigger 노드에서 Add node
연결기를 선택합니다.
- NASA를 검색합니다. n8n은 검색과 일치하는 노드 목록을 보여줍니다.
- NASA를 선택하여 작업 목록을 봅니다.
- Get a DONKI solar flare를 검색하고 선택합니다. 이 작업은 최근의 태양 플레어에 대한 보고서를 반환합니다. 작업을 선택하면 n8n이 노드를 캔버스에 추가하고 엽니다.
- NASA API에 접근하려면 자격 증명을 설정해야 합니다:
- Credential for NASA API 드롭다운을 선택합니다.
- - Create New -을 선택합니다. n8n이 자격 증명 뷰를 엽니다.
- NASA APIs로 이동하여 Generate API Key에서 양식을 작성합니다. NASA가 키를 생성하고 표시합니다.
- 키를 복사하여 n8n의 API Key에 붙여넣습니다.
- Save를 선택합니다.
- 자격 증명 화면을 닫습니다. n8n이 노드로 돌아옵니다. 새로운 자격 증명이 Credential for NASA API에서 자동으로 선택되어야 합니다.
-
기본적으로 DONKI Solar Flare는 지난 30일의 데이터를 제공합니다. 최근 일주일로 제한하려면 Additional Fields를 사용합니다:
- Add field를 선택합니다.
- Start date를 선택합니다.
- 일주일 전부터 보고서를 얻으려면 표현식을 사용할 수 있습니다: Start date 옆에서 Expression 탭을 선택한 후 확장 버튼
를 선택하여 전체 표현식 편집기를 엽니다.
- Expression 필드에 다음 표현식을 입력합니다:
이는 현재 날짜에서 7일 전의 날짜를 올바른 형식으로 생성합니다.
1
{{$today.minus({days: 7}).toFormat('yyyy-MM-dd')}}
n8n의 날짜 및 시간
n8n은 날짜와 시간을 다루기 위해 Luxon을 사용하며, 편의를 위해 두 개의 변수를 제공합니다:
$now
와$today
. 자세한 내용은 Expressions > Luxon을 참조하십시오. -
Edit Expression 모달을 닫아 NASA 노드로 돌아갑니다.
- 이제 노드가 작동하고 예상 날짜를 반환하는지 확인할 수 있습니다: Test step를 선택하여 노드를 수동으로 실행합니다. n8n은 NASA API를 호출하고, 지난 일주일 동안의 태양 플레어 세부 정보를 OUTPUT 섹션에 표시합니다.
- NASA 노드를 닫아 workflow 캔버스로 돌아갑니다.
5단계: If 노드로 논리 추가하기#
n8n은 워크플로우에서 복잡한 논리를 지원합니다. 이 튜토리얼에서는 If 노드를 사용하여 각각 NASA 데이터로부터 보고서를 생성하는 두 개의 분기를 만듭니다. 태양 플레어는 다섯 가지 가능한 분류가 있습니다. 낮은 분류의 보고서를 하나의 출력으로 보내고, 높은 분류의 보고서를 다른 출력으로 보내는 논리를 생성할 것입니다.
If 노드 추가하기:
- NASA 노드에서 노드 추가
연결기를 선택합니다.
- If를 검색합니다. n8n은 검색 결과에 일치하는 노드 목록을 표시합니다.
- If를 선택하여 캔버스에 노드를 추가합니다. n8n이 노드를 엽니다.
-
NASA 데이터에서
classType
속성의 값을 확인해야 합니다. 이렇게 하려면:-
classType을 값 1로 드래그합니다.
이전 섹션에서 NASA 노드를 실행했는지 확인하세요.
이전 섹션에서 NASA 노드를 실행하는 단계를 따르지 않으면, 이 단계에서 작업할 데이터가 보이지 않습니다.
-
비교 연산을 문자열 > 포함으로 변경합니다.
- 값 2에 X를 입력합니다. 이는 태양 플레어의 가장 높은 분류입니다. 다음 단계에서는 X 클래스 태양 플레어를 위한 보고서와 모든 작은 태양 플레어를 위한 보고서를 생성할 것입니다.
- 이제 노드가 작동하고 예상된 날짜를 반환하는지 확인할 수 있습니다: 단계 테스트를 선택하여 노드를 수동으로 실행합니다. n8n은 조건에 따라 데이터를 테스트하고, 출력 패널에 참 또는 거짓으로 일치하는 결과를 표시합니다.
-
큰 태양 플레어가 없는 주
이 튜토리얼에서는 실시간 데이터를 사용하고 있습니다. 워크플로우를 실행할 때 X 클래스 태양 플레어가 없는 경우, 값 2의 X를 A, B, C 또는 M 중 하나로 교체해 보세요.
- 노드가 몇 가지 이벤트를 반환할 것 같으면, 캔버스로 돌아가기 위해 노드를 닫을 수 있습니다.
6단계: 워크플로우에서 데이터 출력하기#
워크플로우의 마지막 단계는 태양 플레어에 대한 두 개의 보고서를 전송하는 것입니다. 이 예제에서는 데이터를 Postbin에 전송합니다. Postbin은 데이터를 수신하고 임시 웹 페이지에 표시하는 서비스입니다.
- If 노드에서 노드 추가
커넥터를 선택합니다.
- PostBin을 검색합니다. n8n은 검색 결과에 일치하는 노드 목록을 표시합니다.
- PostBin을 선택합니다.
- 요청 전송을 선택합니다. n8n이 노드를 캔버스에 추가하고 엽니다.
- Postbin으로 가서 Create Bin을 선택합니다. 워크플로우를 테스트할 때 다시 돌아올 수 있도록 탭을 열어 두십시오.
- 빈 ID를 복사합니다.
1651063625300-2016451240051
과 유사합니다. - n8n에서 빈 ID에 Postbin ID를 붙여넣습니다.
- 이제 Postbin에 보낼 데이터를 구성합니다. 빈 콘텐츠 옆에서 표현식 탭을 선택합니다(탭이 나타나도록 빈 콘텐츠를 마우스 오버해야 함), 그런 다음 확장 버튼
을 선택하여 전체 표현식 편집기를 엽니다.
- 현재 노드 > 입력 데이터 > JSON > classType을 선택합니다. n8n이 표현식 편집기에 표현식을 추가하고 샘플 출력을 표시합니다.
- 표현식은:
{{$json["classType"]}}
입니다. 여기에 메시지를 추가하여 전체 표현식은 다음과 같습니다:1
There was a solar flare of class {{$json["classType"]}}
- 표현식 편집기를 닫고 노드로 돌아갑니다.
- Postbin 노드를 닫아 캔버스로 돌아갑니다.
- If 노드의 거짓 출력 경로를 처리하기 위해 또 다른 Postbin 노드를 추가합니다:
- Postbin 노드 위에 마우스를 올리면 노드 컨텍스트 메뉴
> 노드 복제를 선택하여 첫 번째 Postbin 노드를 복제합니다.
- If 노드에서 거짓 커넥터를 새로운 Postbin 노드의 왼쪽으로 드래그합니다.
- Postbin 노드 위에 마우스를 올리면 노드 컨텍스트 메뉴
단계 7: 워크플로우 테스트#
- 이제 전체 워크플로우를 테스트할 수 있습니다. 워크플로우 테스트를 선택하세요. n8n이 워크플로우를 실행하며 각 단계를 표시합니다.
- Postbin 빈으로 돌아가세요. 페이지를 새로 고쳐 결과를 확인합니다.
- 이 워크플로우를 사용하려면(즉, 매주 자동으로 실행되도록 하려면) 활성화 토글을 선택하여 활성화해야 합니다.
시간 제한
Postbin의 빈은 생성 후 30분 동안 존재합니다. 이 시간 제한을 초과하면 새로운 빈을 생성하고 Postbin 노드에서 ID를 업데이트해야 할 수 있습니다.