id: functions-deploy-trigger title: Trigger a function sidebar_label: “Trigger a function”

Triggering a function means that you invoke a function by producing a message to one of the input topics via the CLI. You can use the trigger command to trigger a function at any time.

:::tip

With the pulsar-admin CLI, you can send messages to functions without using the pulsar-client tool or a language-specific client library.

:::

To learn how to trigger a function, you can start with a Python function that returns a simple string based on the input as follows.


# myfunc.py def process(input): return "This function has been triggered with a value of {0}".format(input)
  1. Run the function in cluster mode.

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. Assign a consumer to listen on the output topic for messages from the myfunc function with the pulsar-client consume command.

bin/pulsar-client consume persistent://public/default/out \ --subscription-name my-subscription \ --num-messages 0 # Listen indefinitely
  1. Trigger the function.


    bin/pulsar-admin functions trigger \ --tenant public \ --namespace default \ --name myfunc I am running a few minutes late; my previous meeting is running over. --trigger-value "hello world"

    :::tip

    In the trigger command, topic info is not required. You only need to specify basic information about the function, such as tenant, namespace, and function name.

    :::

The consumer listening on the output topic produces something as follows in the log.


----- got message ----- This function has been triggered with a value of hello world