강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

ho님의 프로필 이미지
ho

작성한 질문수

[80:20 법칙] 3시간 완성 n8n

프로젝트 완성 / Structured Output과 JSON Schema, 다른 노드 직접 참조, Information Extractor(AI)

output이 empty일 때 item 개수 관련 이슈

작성

·

51

1

[프로젝트 완성/Structured Output과 ...] 강의 (21:47)

 

Settings에서 Always Output Data를 설정하고,

ModeRun once for each item으로 잘 설정 되어있으나,

서브 워크플로우 결과가 없을 경우에는 아이템이 무조건 1개가 되는 것 같습니다.

image.pngimage.png

Run once for each item도 설정했으니,

아이템이 2개 들어갔으니까 저는 당연히

[
  {},
  {}
]

이렇게 empty 아이템이 2개가 될 줄 알았는데 이게 안되네요...

 

이러면 해결되려나 하고 서브그래프 내부로 들어가서 각 노드의 Settings에서 Always Output Data 를 일일이 켜봤는데도 1개의 empty만 나왔습니다.

(이 방법이 된다고 해도 질문 드리려고 했습니다만...ㅎㅎㅎ)

 

이게 내부 절차가 어디가 꼬여있길래 안되는걸까요??ㅠㅠ

답변 2

0

SOLVIT team님의 프로필 이미지
SOLVIT team
지식공유자

저희도 내부적으로 이런저런 실험을 해보느라 조금 늦었습니다.


"이게 내부 절차가 어디가 꼬여있길래 안되는걸까요??ㅠㅠ"

이것에 대한 답변은, 해당 현상은 n8n에서 그냥 받아들여야 하는 동작 방식입니다. 설명의 양을 줄이려다 보니, 질문주신 상황까지 넓게 고려하지 못하고 설명드린 것 같아서 죄송하고 아쉬운 마음입니다. 그말인즉 너무 좋은 질문입니다!!!

 

사실 더 좋은 구현은 sub workflow에서 문제의 notion 데이터베이스에 아무런 데이터가 없어도 다음 워크플로우를 실행하도록 만들어주는 것입니다. 항상 데이터를 출력하도록 만드는 방법을 똑같이 적용해 줍니다. 그럼 항상 1개의 비어있는 아이템을 반환할 것이고, 바로 뒤에서 json이 비어 있는지 검사하는 식을 돌리고, 비어 있는 경우 do nothing을 놓아 줍니다. 그럼 sub workflow가 항상 다음 아이템을 반환하는 것을 보장하게 됩니다.

 

[
  {}
]

 

image.png

 

그럼 메인 워크플로우에서는 sub workflow가 '어쨌든 아이템을 반환했다'고 인식을 하게 됩니다.

image.png

 

그럼 말씀하신 것처럼 "이렇게 empty 아이템이 2개가 될 줄 알았는데..."라는 추측대로 동작하게 됩니다.

image.png

 

강의의 취지대로 'item의 수와 JSON'에 기반한 n8n의 작동 방식너무 잘 이해하셨습니다! 정말 뿌듯합니다. 한걸음 더 나아가면, 항상 sub workflow가 output을 제공하므로, 이젠 굳이 always output data 설정을 해주지 않아도 됩니다.

 

image.png

 

SOLVIT team님의 프로필 이미지
SOLVIT team
지식공유자

if노드의 산식은 {{ $json.isNotEmpty() }} 입니다.

0

안녕하세요, 인프런 AI 인턴입니다.

ho님께서 질문하신 사항은 n8n에서 서브 워크플로우의 결과가 없을 경우 empty item의 개수와 관련되어 있습니다. 서브 워크플로우에서 “Always Output Data” 옵션과 “Run once for each item” 모드를 설정했음에도 불구하고 원하는 결과가 나오지 않는 문제를 겪고 계신 것 같습니다.

이 경우, 주로 발생할 수 있는 원인은 다음과 같습니다:

  1. 서브 워크플로우의 논리 문제: 서브 워크플로우 내의 특정 조건이나 노드 설정이 원하는 대로 작동하지 않을 수 있습니다. 노드 간의 데이터 흐름과 조건부 논리를 다시 검토해보세요.

  2. 워크플로우 구성 오류: “Settings”에서 옵션을 잘못 설정했을 가능성도 있습니다. 특히 “Always Output Data”의 역할은 해당 노드의 결과를 강제로 출력하는 것이므로, 해당 기능이 작동하지 않을 시 구성 체계를 다시 살펴봐야 합니다.

  3. 버그 및 제한 사항: n8n 자체의 버그나 기능적 제한이 있을 수 있습니다. 이 경우, 최근 업데이트 내역을 확인하시거나 커뮤니티 포럼에서 유사한 문제와 해결책을 찾아보실 수 있습니다.

해결책에 다가가기 위해 n8n 포럼을 이용한 문제 해결 사례나, 공식 문서를 검토해보실 것을 추천드립니다. 또한 해당 기능을 정확하게 이해하는 데 도움이 될 수 있는 아래의 링크들도 참고하실 수 있습니다:

이미지를 통해 워크플로우 구성을 조금 더 시각적으로 확인하고, 설정 부분을 꼼꼼히 점검하시면 도움이 될 것입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

ho님의 프로필 이미지
ho

작성한 질문수

질문하기