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

n8n에서의 루핑#

루핑은 여러 항목을 처리하거나 주소록의 모든 연락처에 메시지를 보내는 것과 같이 반복적으로 작업을 수행할 때 유용합니다. n8n은 이러한 반복 처리 작업을 자동으로 처리하므로, 워크플로에 직접 루프를 구축할 필요가 없습니다. 이것이 성립하지 않는 일부 노드가 있습니다.

n8n에서 루프 사용하기#

n8n 노드는 입력으로 임의의 수의 항목을 받아들이고, 이러한 항목을 처리한 후 결과를 출력합니다. 각 항목을 단일 데이터 포인트 또는 노드의 출력 테이블에서 단일 행으로 생각할 수 있습니다.

고객 데이터 저장소 노드 출력

노드는 일반적으로 각 항목에 대해 한 번 실행됩니다. 예를 들어, 고객 데이터 저장소 노드의 고객 이름과 메모를 Slack에 메시지로 보내고 싶다면 다음과 같이 합니다:

  1. Slack 노드를 고객 데이터 저장소 노드에 연결합니다.
  2. 매개변수를 구성합니다.
  3. 노드를 실행합니다.

각 항목에 대해 하나씩 총 다섯 개의 메시지를 받게 됩니다.

이렇게 하면 노드를 명시적으로 루프에 연결하지 않고도 여러 항목을 처리할 수 있습니다.

노드를 한 번만 실행하기#

모든 수신 항목을 처리하지 않으려는 경우, 예를 들어 첫 번째 고객에게만 Slack 메시지를 보내고자 할 때는 해당 노드의 한 번만 실행 매개변수를 설정하면 됩니다. 이 설정은 수신 데이터에 여러 항목이 포함되어 있고 첫 번째 항목만 처리하고 싶을 때 유용합니다.

루프 만들기#

n8n은 일반적으로 모든 수신 항목의 반복 처리를 처리합니다. 그러나 모든 항목을 반복하기 위해 루프를 만들어야 하는 특정 시나리오가 있습니다. 자동으로 모든 수신 항목을 반복하지 않는 노드 목록은 노드 예외를 참조하세요.

조건이 충족될 때까지 루프 실행하기#

n8n 워크플로에서 루프를 만들려면 한 노드의 출력을 이전 노드의 입력으로 연결합니다. 루프를 중지할 시점을 확인하기 위해 IF 노드를 추가합니다.

다음은 IF 노드를 사용하여 루프를 구현한 예제 워크플로입니다:

샘플 워크플로를 보여주는 편집기 UI

모든 항목이 처리될 때까지 루프 실행하기#

모든 항목이 처리될 때까지 루프를 실행하고자 할 때는 항목 반복 노드를 사용합니다. 각 항목을 개별적으로 처리하려면 배치 크기1로 설정합니다.

데이터를 그룹으로 배치하고 이 배치를 처리할 수 있습니다. 이 방법은 대량의 수신 데이터 처리 시 API 속도 제한을 피하거나 반환된 특정 항목 그룹을 처리하고자 할 때 유용합니다.

항목 반복 노드는 모든 수신 항목이 배치로 나누어지고 워크플로의 다음 노드로 전달된 후에 실행을 중단하므로, 루프를 중지하기 위한 IF 노드를 추가할 필요가 없습니다.

노드 예외#

워크플로에 루프를 설계해야 하는 노드와 작업:

  • CrateDBinsertupdate에 대해 한 번 실행됩니다.
  • Code 노드의 모든 항목에 대해 한 번 실행 모드: 입력한 코드 스니펫에 따라 모든 항목을 처리합니다.
  • Execute Workflow 노드의 모든 항목에 대해 한 번 실행 모드.
  • HTTP Request: 페이지 매김을 직접 처리해야 합니다. API 호출이 페이지가 나눠진 결과를 반환하는 경우, 한 번에 하나의 페이지를 가져오기 위한 루프를 생성해야 합니다.
  • Microsoft SQLinsert, update, 및 delete에 대해 한 번 실행됩니다.
  • MongoDBinsertupdate에 대해 한 번 실행됩니다.
  • QuestDBinsert에 대해 한 번 실행됩니다.
  • Redis:
    • 정보: 이 작업은 수신 데이터의 항목 수와 관계없이 단 한 번만 실행됩니다.
  • TimescaleDBinsertupdate에 대해 한 번 실행됩니다.
인포레터에서 최신 DevOps 트렌드를 격주로 만나보세요!