함수 트리거하기

함수 트리거하기 (Trigger a Function)

함수를 트리거한다는 것은 CLI를 통해 입력 토픽 중 하나에 메시지를 생산해 함수를 호출하는 것을 의미해요. 이 문서에서는 trigger 명령으로 함수를 호출하고 출력을 확인하는 과정을 안내해요.

출처: 문서

본문

함수를 트리거한다는 것은 CLI를 통해 입력 토픽 중 하나에 메시지를 생산해 함수를 호출하는 것을 의미해요. trigger 명령을 사용해 언제든 함수를 트리거할 수 있어요.

pulsar-admin CLI로 pulsar-client 도구나 언어별 클라이언트 라이브러리를 사용하지 않고 함수에 메시지를 보낼 수 있어요.

함수를 트리거하는 방법을 익히기 위해, 입력을 기반으로 간단한 문자열을 반환하는 Python 함수부터 시작해 볼게요.

# myfunc.py
def process(input):
    return "This function has been triggered with a value of {0}".format(input)
  1. 함수를 클러스터 모드로 실행해요.
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
  1. pulsar-client consume 명령으로 myfunc 함수의 메시지를 위해 출력 토픽을 수신하는 소비자를 할당해요.
bin/pulsar-client consume persistent://public/default/out \
  --subscription-name my-subscription \
  --num-messages 0 # Listen indefinitely
  1. 함수를 트리거해요.
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)