함수 트리거하기
함수 트리거하기 (Trigger a Function)
함수를 트리거한다는 것은 CLI를 통해 입력 토픽 중 하나에 메시지를 생산해 함수를 호출하는 것을 의미해요. 이 문서에서는 trigger 명령으로 함수를 호출하고 출력을 확인하는 과정을 안내해요.
출처: 문서
본문
함수를 트리거한다는 것은 CLI를 통해 입력 토픽 중 하나에 메시지를 생산해 함수를 호출하는 것을 의미해요. trigger 명령을 사용해 언제든 함수를 트리거할 수 있어요.
팁
pulsar-adminCLI로pulsar-client도구나 언어별 클라이언트 라이브러리를 사용하지 않고 함수에 메시지를 보낼 수 있어요.
함수를 트리거하는 방법을 익히기 위해, 입력을 기반으로 간단한 문자열을 반환하는 Python 함수부터 시작해 볼게요.
# myfunc.py
def process(input):
return "This function has been triggered with a value of {0}".format(input)
- 함수를 클러스터 모드로 실행해요.
bin/pulsar-admin functions create \
--tenant public \
--namespace default \
--name myfunc \
--py myfunc.py \
--classname myfunc \
--inputs persistent://public/default/in \
--output persistent://public/default/out
pulsar-client consume명령으로 myfunc 함수의 메시지를 위해 출력 토픽을 수신하는 소비자를 할당해요.
bin/pulsar-client consume persistent://public/default/out \
--subscription-name my-subscription \
--num-messages 0 # Listen indefinitely
- 함수를 트리거해요.
bin/pulsar-admin functions trigger \
--tenant public \
--namespace default \
--name myfunc \
--trigger-value "hello world"
팁
trigger명령에서는 토픽 정보가 필요하지 않아요. 테넌트, 네임스페이스, 함수 이름 같은 함수의 기본 정보만 지정하면 돼요.
출력 토픽을 수신하는 소비자는 로그에 다음과 같은 내용을 생성해요.
----- got message -----
This function has been triggered with a value of hello world
더 알아보기 (Learn more)
- Functions 디버깅 — trigger를 포함한 디버깅 방법을 익혀요.
- Functions CLI — 함수 구성과 명령을 봐요.
- Functions 배포 — 함수를 실제로 배포해요.