표현식#
버전 1.9.0에서 n8n이 표현식의 템플릿 언어를 변경했습니다
버전 1.9.0에서 표현식과 관련된 문제가 발생한 경우:
표현식을 사용하여 다음의 데이터를 기반으로 노드 매개변수를 동적으로 설정할 수 있습니다:
- 이전 노드
- 워크플로우
- n8n 환경
표현식 내에서 JavaScript를 실행할 수 있습니다.
n8n은 Tournament이라고 불리는 템플릿 언어를 생성하고 사용하며, 이를 사용자 정의 방법 및 변수와 데이터 변환 함수로 확장하여 다른 노드에서 데이터를 가져오거나 메타데이터에 접근하는 것과 같은 일반 작업을 도와줍니다.
n8n은 두 개의 라이브러리를 지원합니다:
Python 지원 없음
표현식은 JavaScript를 사용해야 합니다.
n8n의 데이터
표현식을 작성할 때 n8n의 데이터 구조와 동작을 이해하는 것이 도움이 됩니다. 워크플로우에서 데이터를 작업하는 방법에 대한 자세한 내용은 데이터를 참조하십시오.
표현식 작성#
매개변수 값을 설정하기 위해 표현식을 사용하려면:
- 표현식을 사용하려는 매개변수 위에 마우스를 가져갑니다.
- 고정/표현식 토글에서 표현식을 선택합니다.
- 매개변수에 표현식을 작성하거나, 표현식 편집기 열기
를 선택하여 표현식 편집기를 엽니다. 표현식 편집기를 사용하는 경우 변수 선택기에서 사용 가능한 데이터를 탐색할 수 있습니다. 모든 표현식은
{{ 여기에 표현식 작성 }}
형식을 가집니다.
예제: 웹훅 본문에서 데이터 가져오기#
다음 시나리오를 고려하십시오: 웹훅 본문을 통해 데이터를 수신하는 웹훅 트리거가 있습니다. 워크플로우에서 사용하기 위해 그 데이터의 일부를 추출하고 싶습니다.
당신의 웹훅 데이터는 다음과 비슷하게 보입니다:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
워크플로우의 다음 노드에서 city
값만 가져오고 싶습니다. 다음 표현식을 사용할 수 있습니다:
1 |
|
이 표현식은:
- n8n의 사용자 정의
$json
변수를 사용하여 수신된 JSON 형식의 데이터에 접근합니다. city
의 값을 찾습니다(이 예제에서는 "New York"). 이 예제에서는 JMESPath 문법을 사용하여 JSON 데이터를 쿼리합니다. 이 표현식을{{$json['body']['city']}}
로 작성할 수도 있습니다.
예제: 더 긴 JavaScript 작성#
표현식은 한 줄의 JavaScript로 구성됩니다. 즉, 변수 할당이나 여러 개의 독립적인 작업을 수행할 수 없습니다.
표현식 내에서 JavaScript의 한계를 이해하고 해결 방법에 대해 생각해보려면, 다음 두 개의 코드 조각을 살펴보십시오. 두 코드 예제는 Luxon 날짜 및 시간 라이브러리를 사용하여 두 날짜 사이의 시간을 개월 수로 찾고, 표현식처럼 핸들바 대괄호로 코드를 둘러싸 있습니다.
그러나 첫 번째 예제는 유효한 n8n 표현식이 아닙니다:
1 2 3 4 5 6 7 8 9 10 11 |
|
두 번째 예제는 유효합니다:
1 |
|
일반적인 문제#
표현식에 대한 일반적인 오류나 문제와 제안된 해결 단계를 보려면 일반적인 문제를 참조하세요.