Loop Over Items (Split in Batches)
Loop Over Items 노드는 필요할 때 데이터를 반복 처리하는 데 도움을 줍니다. 이 노드는 원래의 수신 데이터를 저장하고, 각 반복마다 미리 정해진 양의 데이터를 루프 출력을 통해 반환합니다. 노드 실행이 완료되면 처리된 모든 데이터를 결합하여 완료 출력을 통해 반환합니다.
Loop Over Items 노드는 필요할 때 데이터를 반복 처리하는 데 도움을 줍니다.
이 노드는 원래의 수신 데이터를 저장하고, 각 반복마다 미리 정해진 양의 데이터를 루프 출력을 통해 반환합니다.
노드 실행이 완료되면 처리된 모든 데이터를 결합하여 완료 출력을 통해 반환합니다.
Loop Over Items 노드를 사용해야 할 때#
기본적으로 n8n 노드는 입력 항목 목록을 처리하도록 설계되어 있습니다(아래에 자세히 설명된 일부 예외가 있음). 달성하려는 목표에 따라 워크플로에 Loop Over Items 노드가 필요하지 않은 경우가 많습니다. n8n이 여러 항목을 처리하는 방법에 대한 자세한 내용은 n8n에서 루프 처리 페이지에서 확인할 수 있습니다.
다음 링크는 Loop Over Items 노드가 유용할 수 있는 경우를 강조합니다:
- 모든 항목이 처리될 때까지 루프: Loop Over Items 노드가 일반 항목 처리와 어떻게 다른지, 이 노드를 사용해야 하는 경우를 설명합니다.
- 노드 예외: Loop Over Items 노드를 사용하여 수동으로 루프 로직을 구축해야 하는 특정 경우와 노드를 설명합니다.
- 속도 제한 방지: 다른 서비스의 속도 제한을 피하기 위해 API 요청을 일괄 처리하는 방법을 보여줍니다.
노드 파라미터#
배치 크기#
각 호출에서 반환할 항목 수를 입력합니다.
노드 옵션#
리셋#
켜짐으로 설정하면 노드는 각 루프마다 현재 입력 데이터로 새로 초기화됩니다. Loop Over Items 노드가 수신 데이터를 이전 항목의 연속이 아닌 새로운 데이터 세트로 처리하게 하려면 이 옵션을 사용합니다.
예를 들어 리셋 옵션과 If 노드를 함께 사용하여 미리 몇 페이지가 필요한지 알 수 없는 페이지네이션 서비스를 쿼리할 수 있습니다. 루프는 한 번에 한 페이지씩 쿼리하고 처리를 수행하며 페이지 번호를 증가시킵니다. 루프 리셋은 루프가 각 반복을 새로운 데이터 세트로 인식하도록 보장합니다. If 노드는 종료 조건을 평가하여 다른 반복을 수행할지 여부를 결정합니다.
위에서 설명한 예시와 같은 워크플로의 경우 루프에 대한 유효한 종료 조건을 포함하는 것이 중요합니다. 종료 조건이 절대 일치하지 않으면 워크플로 실행이 무한 루프에 빠지게 됩니다.
활성화된 경우 파라미터 표현을 고정에서 표현식으로 전환하여 리셋 조건을 조정할 수 있습니다. 표현식 평가 결과에 따라 노드가 항목 처리를 리셋할 시점이 결정됩니다.
템플릿 및 예시#
이 노드의 워크플로 템플릿은 n8n 워크플로 템플릿 갤러리에서 확인할 수 있습니다.
두 가지 다른 소스에서 RSS 피드 읽기#
이 워크플로를 사용하면 Loop Over Items 노드를 사용하여 두 가지 다른 소스에서 RSS 피드를 읽을 수 있습니다. RSS Feed Read 노드는 첫 번째로 수신하는 항목만 처리하므로 워크플로에 Loop Over Items 노드가 필요합니다. 워크플로는 n8n.io에서도 찾을 수 있습니다.
이 예시에서는 워크플로 구축 과정을 안내하지만 n8n에 이미 익숙한 것으로 가정합니다. 노드를 워크플로에 추가하는 방법을 포함하여 첫 번째 워크플로를 구축하려면 시작해 보기를 참조하십시오.
최종 워크플로는 다음과 같습니다:
위의 워크플로 파일을 복사하여 인스턴스에 붙여넣거나 다음 단계에 따라 수동으로 구축하십시오:
- 수동 트리거를 추가합니다.
- Code 노드를 추가합니다.
- 다음 코드를 Code 노드에 복사합니다:
return [ { json: { url: 'https://medium.com/feed/n8n-io', } }, { json: { url: 'https://dev.to/feed/n8n', } } ]; - Loop Over Items 노드를 추가합니다.
- Loop Over Items 구성: 배치 크기 필드에 배치 크기를
1로 설정합니다. - RSS Feed Read 노드를 추가합니다.
- 워크플로 실행을 선택합니다. 이렇게 하면 RSS Feed Read 노드에 데이터를 로드하기 위해 워크플로가 실행됩니다.
- RSS Feed Read 구성: 입력에서 URL 필드로
url을 매핑합니다. 입력 패널에서 끌어다 놓거나 표현식{{ $json.url }}을 사용하여 수행할 수 있습니다. - 워크플로 실행을 선택하여 워크플로를 실행하고 결과 데이터를 확인합니다.
노드가 모든 항목을 처리했는지 확인#
노드에 아직 처리할 항목이 있는지 확인하려면 다음 표현식을 사용합니다: {{$("Loop Over Items").context["noItemsLeft"]}}. 이 표현식은 불리언 값을 반환합니다. 노드에 처리할 데이터가 아직 있으면 표현식이 false를 반환하고, 그렇지 않으면 true를 반환합니다.
노드의 현재 실행 인덱스 가져오기#
노드의 현재 실행 인덱스를 가져오려면 다음 표현식을 사용합니다: {{$("Loop Over Items").context["currentRunIndex"];}}.
