콘텐츠로 이동
📣 인포그랩에서 OpenAI 기술 기반으로 자체 개발한 자동화 번역 프로그램을 통해 n8n 공식 문서의 한글판을 국내 최초로 제공합니다.

약간 긴 소개#

이 가이드는 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를 사용합니다. 이는 워크플로우를 계획에 따라 실행할 수 있게 해줍니다:

  1. Add first step을 선택합니다.
  2. Schedule을 검색합니다. n8n은 검색과 일치하는 노드 목록을 보여줍니다.
  3. Schedule Trigger를 선택하여 노드를 캔버스에 추가합니다. n8n이 노드를 엽니다.
  4. Trigger Interval에서 Weeks를 선택합니다.
  5. Weeks Between Triggers1을 입력합니다.
  6. 시간과 요일을 입력합니다. 이 예제에서는 Trigger on Weekdays에서 Monday를 선택하고, Trigger at Hour에서 9am을 선택하며, Trigger at Minute에서 0을 입력합니다.
  7. 노드 세부 정보 뷰를 닫아 캔버스에 돌아갑니다.

네 번째 단계: NASA 노드 추가 및 자격 증명 설정하기#

NASA node는 NASA의 public APIs와 상호작용할 수 있게 해줍니다. API는 이 자습서에서 작업할 데이터를 제공합니다.

  1. Schedule Trigger 노드에서 Add node Add node icon 연결기를 선택합니다.
  2. NASA를 검색합니다. n8n은 검색과 일치하는 노드 목록을 보여줍니다.
  3. NASA를 선택하여 작업 목록을 봅니다.
  4. Get a DONKI solar flare를 검색하고 선택합니다. 이 작업은 최근의 태양 플레어에 대한 보고서를 반환합니다. 작업을 선택하면 n8n이 노드를 캔버스에 추가하고 엽니다.
  5. NASA API에 접근하려면 자격 증명을 설정해야 합니다:
    1. Credential for NASA API 드롭다운을 선택합니다.
    2. - Create New -을 선택합니다. n8n이 자격 증명 뷰를 엽니다.
    3. NASA APIs로 이동하여 Generate API Key에서 양식을 작성합니다. NASA가 키를 생성하고 표시합니다.
    4. 키를 복사하여 n8n의 API Key에 붙여넣습니다.
    5. Save를 선택합니다.
    6. 자격 증명 화면을 닫습니다. n8n이 노드로 돌아옵니다. 새로운 자격 증명이 Credential for NASA API에서 자동으로 선택되어야 합니다.
  6. 기본적으로 DONKI Solar Flare는 지난 30일의 데이터를 제공합니다. 최근 일주일로 제한하려면 Additional Fields를 사용합니다:

    1. Add field를 선택합니다.
    2. Start date를 선택합니다.
    3. 일주일 전부터 보고서를 얻으려면 표현식을 사용할 수 있습니다: Start date 옆에서 Expression 탭을 선택한 후 확장 버튼 Add node icon를 선택하여 전체 표현식 편집기를 엽니다.
    4. Expression 필드에 다음 표현식을 입력합니다:
      1
      {{$today.minus({days: 7}).toFormat('yyyy-MM-dd')}}
      
      이는 현재 날짜에서 7일 전의 날짜를 올바른 형식으로 생성합니다.

    n8n의 날짜 및 시간

    n8n은 날짜와 시간을 다루기 위해 Luxon을 사용하며, 편의를 위해 두 개의 변수를 제공합니다: $now$today. 자세한 내용은 Expressions > Luxon을 참조하십시오.

  7. Edit Expression 모달을 닫아 NASA 노드로 돌아갑니다.

  8. 이제 노드가 작동하고 예상 날짜를 반환하는지 확인할 수 있습니다: Test step를 선택하여 노드를 수동으로 실행합니다. n8n은 NASA API를 호출하고, 지난 일주일 동안의 태양 플레어 세부 정보를 OUTPUT 섹션에 표시합니다.
  9. NASA 노드를 닫아 workflow 캔버스로 돌아갑니다.

5단계: If 노드로 논리 추가하기#

n8n은 워크플로우에서 복잡한 논리를 지원합니다. 이 튜토리얼에서는 If 노드를 사용하여 각각 NASA 데이터로부터 보고서를 생성하는 두 개의 분기를 만듭니다. 태양 플레어는 다섯 가지 가능한 분류가 있습니다. 낮은 분류의 보고서를 하나의 출력으로 보내고, 높은 분류의 보고서를 다른 출력으로 보내는 논리를 생성할 것입니다.

If 노드 추가하기:

  1. NASA 노드에서 노드 추가 Add node icon 연결기를 선택합니다.
  2. If를 검색합니다. n8n은 검색 결과에 일치하는 노드 목록을 표시합니다.
  3. If를 선택하여 캔버스에 노드를 추가합니다. n8n이 노드를 엽니다.
  4. NASA 데이터에서 classType 속성의 값을 확인해야 합니다. 이렇게 하려면:

    1. classType값 1로 드래그합니다.

      이전 섹션에서 NASA 노드를 실행했는지 확인하세요.

      이전 섹션에서 NASA 노드를 실행하는 단계를 따르지 않으면, 이 단계에서 작업할 데이터가 보이지 않습니다.

    2. 비교 연산을 문자열 > 포함으로 변경합니다.

    3. 값 2X를 입력합니다. 이는 태양 플레어의 가장 높은 분류입니다. 다음 단계에서는 X 클래스 태양 플레어를 위한 보고서와 모든 작은 태양 플레어를 위한 보고서를 생성할 것입니다.
    4. 이제 노드가 작동하고 예상된 날짜를 반환하는지 확인할 수 있습니다: 단계 테스트를 선택하여 노드를 수동으로 실행합니다. n8n은 조건에 따라 데이터를 테스트하고, 출력 패널에 참 또는 거짓으로 일치하는 결과를 표시합니다.

큰 태양 플레어가 없는 주

이 튜토리얼에서는 실시간 데이터를 사용하고 있습니다. 워크플로우를 실행할 때 X 클래스 태양 플레어가 없는 경우, 값 2XA, B, C 또는 M 중 하나로 교체해 보세요.

  1. 노드가 몇 가지 이벤트를 반환할 것 같으면, 캔버스로 돌아가기 위해 노드를 닫을 수 있습니다.

6단계: 워크플로우에서 데이터 출력하기#

워크플로우의 마지막 단계는 태양 플레어에 대한 두 개의 보고서를 전송하는 것입니다. 이 예제에서는 데이터를 Postbin에 전송합니다. Postbin은 데이터를 수신하고 임시 웹 페이지에 표시하는 서비스입니다.

  1. If 노드에서 노드 추가 Add node icon 커넥터를 선택합니다.
  2. PostBin을 검색합니다. n8n은 검색 결과에 일치하는 노드 목록을 표시합니다.
  3. PostBin을 선택합니다.
  4. 요청 전송을 선택합니다. n8n이 노드를 캔버스에 추가하고 엽니다.
  5. Postbin으로 가서 Create Bin을 선택합니다. 워크플로우를 테스트할 때 다시 돌아올 수 있도록 탭을 열어 두십시오.
  6. 빈 ID를 복사합니다. 1651063625300-2016451240051과 유사합니다.
  7. n8n에서 빈 ID에 Postbin ID를 붙여넣습니다.
  8. 이제 Postbin에 보낼 데이터를 구성합니다. 빈 콘텐츠 옆에서 표현식 탭을 선택합니다(탭이 나타나도록 빈 콘텐츠를 마우스 오버해야 함), 그런 다음 확장 버튼 Add node icon을 선택하여 전체 표현식 편집기를 엽니다.
  9. 현재 노드 > 입력 데이터 > JSON > classType을 선택합니다. n8n이 표현식 편집기에 표현식을 추가하고 샘플 출력을 표시합니다.
  10. 표현식은: {{$json["classType"]}}입니다. 여기에 메시지를 추가하여 전체 표현식은 다음과 같습니다:
    1
    There was a solar flare of class {{$json["classType"]}}
    
  11. 표현식 편집기를 닫고 노드로 돌아갑니다.
  12. Postbin 노드를 닫아 캔버스로 돌아갑니다.
  13. If 노드의 거짓 출력 경로를 처리하기 위해 또 다른 Postbin 노드를 추가합니다:
    1. Postbin 노드 위에 마우스를 올리면 노드 컨텍스트 메뉴 Node context menu icon > 노드 복제를 선택하여 첫 번째 Postbin 노드를 복제합니다.
    2. If 노드에서 거짓 커넥터를 새로운 Postbin 노드의 왼쪽으로 드래그합니다.

단계 7: 워크플로우 테스트#

  1. 이제 전체 워크플로우를 테스트할 수 있습니다. 워크플로우 테스트를 선택하세요. n8n이 워크플로우를 실행하며 각 단계를 표시합니다.
  2. Postbin 빈으로 돌아가세요. 페이지를 새로 고쳐 결과를 확인합니다.
  3. 이 워크플로우를 사용하려면(즉, 매주 자동으로 실행되도록 하려면) 활성화 토글을 선택하여 활성화해야 합니다.

시간 제한

Postbin의 빈은 생성 후 30분 동안 존재합니다. 이 시간 제한을 초과하면 새로운 빈을 생성하고 Postbin 노드에서 ID를 업데이트해야 할 수 있습니다.

다음 단계#

인포레터에서 최신 DevOps 트렌드를 격주로 만나보세요!