Skip to main content

Pulsar Functions command line tool

The following tables list Pulsar Functions command-line tools. You can learn Pulsar Functions modes, commands, and parameters.

localrun​

Run Pulsar Functions locally, rather than deploying it to the Pulsar cluster.

NameDescriptionDefault
auto-ackWhether or not the framework acknowledges messages automatically.true
broker-service-urlThe URL for the Pulsar broker.
classnameThe class name of a Pulsar Function.
client-auth-paramsClient authentication parameter.
client-auth-pluginClient authentication plugin using which function-process can connect to broker.
CPUThe CPU in cores that need to be allocated per function instance (applicable only to docker runtime).
custom-schema-inputsThe map of input topics to Schema class names (as a JSON string).
custom-serde-inputsThe map of input topics to SerDe class names (as a JSON string).
dead-letter-topicThe topic where all messages that were not processed successfully are sent. This parameter is not supported in Python Functions.
diskThe disk in bytes that need to be allocated per function instance (applicable only to docker runtime).
fqfnThe Fully Qualified Function Name (FQFN) for the function.
function-config-fileThe path to a YAML config file specifying the configuration of a Pulsar Function.
goPath to the main Go executable binary for the function (if the function is written in Go). Since 2.8.1 and later versions, it also supports URL path [http/https/file (file protocol assumes that file already exists on worker host)/function (package URL from packages management service)] where worker can download the package from.
hostname-verification-enabledEnable hostname verification.false
inputsThe input topic or topics of a Pulsar Function (multiple topics can be specified as a comma-separated list).
jarPath to the jar file for the function (if the function is written in Java). It also supports URL-path [http/https/file (file protocol assumes that file already exists on worker host)/function (package URL from packages management service, only available in 2.8.1 and later versions)] where worker can download the package from.
instance-id-offsetStart the instanceIds from this offset.0
log-topicThe topic to which the logs a Pulsar Function are produced.
max-message-retriesHow many times should we try to process a message before giving up.
nameThe name of a Pulsar Function.
namespaceThe namespace of a Pulsar Function.
outputThe output topic of a Pulsar Function (If none is specified, no output is written).
output-serde-classnameThe SerDe class to be used for messages output by the function.
parallelismThe parallelism factor of a Pulsar Function (i.e. the number of function instances to run).
processing-guaranteesThe processing guarantees (delivery semantics) applied to the function. Available values: [ATLEAST_ONCE, ATMOST_ONCE, EFFECTIVELY_ONCE].ATLEAST_ONCE
pyPath to the main Python file/Python Wheel file for the function (if the function is written in Python). Since 2.8.1 and later versions, it also supports URL path [http/https/file (file protocol assumes that file already exists on worker host)/function (package URL from packages management service)] where worker can download the package from.
ramThe ram in bytes that need to be allocated per function instance (applicable only to process/docker runtime).
retain-orderingFunction consumes and processes messages in order.
schema-typeThe builtin schema type or custom schema class name to be used for messages output by the function.
sliding-interval-countThe number of messages after which the window slides.
sliding-interval-duration-msThe time duration after which the window slides.
subs-namePulsar source subscription name if user wants a specific subscription-name for the input-topic consumer.
tenantThe tenant of a Pulsar Function.
timeout-msThe message timeout in milliseconds.
tls-allow-insecureAllow insecure tls connection.false
tls-trust-cert-pathtls trust cert file path.
topics-patternThe topic pattern to consume from list of topics under a namespace that match the pattern. [--input] and [--topic-pattern] are mutually exclusive. Add SerDe class name for a pattern in --custom-serde-inputs (only supported in Java Function).
use-tlsUse tls connection.false
user-configUser-defined config key/values.
window-length-countThe number of messages per window.
window-length-duration-msThe time duration of the window in milliseconds.

create​

Create and deploy a Pulsar Function in cluster mode.

NameDescriptionDefault
auto-ackWhether or not the framework acknowledges messages automatically.true
classnameThe class name of a Pulsar Function.
CPUThe CPU in cores that need to be allocated per function instance (applicable only to docker runtime).
custom-runtime-optionsA string that encodes options to customize the runtime, see docs for configured runtime for details
custom-schema-inputsThe map of input topics to Schema class names (as a JSON string).
custom-serde-inputsThe map of input topics to SerDe class names (as a JSON string).
dead-letter-topicThe topic where all messages that were not processed successfully are sent. This parameter is not supported in Python Functions.
diskThe disk in bytes that need to be allocated per function instance (applicable only to docker runtime).
fqfnThe Fully Qualified Function Name (FQFN) for the function.
function-config-fileThe path to a YAML config file specifying the configuration of a Pulsar Function.
goPath to the main Go executable binary for the function (if the function is written in Go). Since 2.8.1 and later versions, it also supports URL path [http/https/file (file protocol assumes that file already exists on worker host)/function (package URL from packages management service)] where worker can download the package from.
inputsThe input topic or topics of a Pulsar Function (multiple topics can be specified as a comma-separated list).
jarPath to the jar file for the function (if the function is written in Java). It also supports URL-path [http/https/file (file protocol assumes that file already exists on worker host)/function (package URL from packages management service, only available in 2.8.1 and later versions)] where worker can download the package from.
log-topicThe topic to which the logs of a Pulsar Function are produced.
max-message-retriesHow many times should we try to process a message before giving up.
nameThe name of a Pulsar Function.
namespaceThe namespace of a Pulsar Function.
outputThe output topic of a Pulsar Function (If none is specified, no output is written).
output-serde-classnameThe SerDe class to be used for messages output by the function.
parallelismThe parallelism factor of a Pulsar Function (i.e. the number of function instances to run).
processing-guaranteesThe processing guarantees (delivery semantics) applied to the function. Available values: [ATLEAST_ONCE, ATMOST_ONCE, EFFECTIVELY_ONCE].ATLEAST_ONCE
pyPath to the main Python file/Python Wheel file for the function (if the function is written in Python). Since 2.8.1 and later versions, it also supports URL path [http/https/file (file protocol assumes that file already exists on worker host)/function (package URL from packages management service)] where worker can download the package from.
ramThe ram in bytes that need to be allocated per function instance (applicable only to process/docker runtime).
retain-orderingFunction consumes and processes messages in order.
schema-typeThe builtin schema type or custom schema class name to be used for messages output by the function.
sliding-interval-countThe number of messages after which the window slides.
sliding-interval-duration-msThe time duration after which the window slides.
subs-namePulsar source subscription name if user wants a specific subscription-name for the input-topic consumer.
tenantThe tenant of a Pulsar Function.
timeout-msThe message timeout in milliseconds.
topics-patternThe topic pattern to consume from list of topics under a namespace that match the pattern. [--input] and [--topic-pattern] are mutually exclusive. Add SerDe class name for a pattern in --custom-serde-inputs (only supported in Java Function).
user-configUser-defined config key/values.
window-length-countThe number of messages per window.
window-length-duration-msThe time duration of the window in milliseconds.

delete​

Delete a Pulsar Function that is running on a Pulsar cluster.

NameDescriptionDefault
fqfnThe Fully Qualified Function Name (FQFN) for the function.
nameThe name of a Pulsar Function.
namespaceThe namespace of a Pulsar Function.
tenantThe tenant of a Pulsar Function.

update​

Update a Pulsar Function that has been deployed to a Pulsar cluster.

NameDescriptionDefault
auto-ackWhether or not the framework acknowledges messages automatically.true
classnameThe class name of a Pulsar Function.
CPUThe CPU in cores that need to be allocated per function instance (applicable only to docker runtime).
custom-runtime-optionsA string that encodes options to customize the runtime, see docs for configured runtime for details
custom-schema-inputsThe map of input topics to Schema class names (as a JSON string).
custom-serde-inputsThe map of input topics to SerDe class names (as a JSON string).
dead-letter-topicThe topic where all messages that were not processed successfully are sent. This parameter is not supported in Python Functions.
diskThe disk in bytes that need to be allocated per function instance (applicable only to docker runtime).
fqfnThe Fully Qualified Function Name (FQFN) for the function.
function-config-fileThe path to a YAML config file specifying the configuration of a Pulsar Function.
goPath to the main Go executable binary for the function (if the function is written in Go). Since 2.8.1 and later versions, it also supports URL path [http/https/file (file protocol assumes that file already exists on worker host)/function (package URL from packages management service)] where worker can download the package from.
inputsThe input topic or topics of a Pulsar Function (multiple topics can be specified as a comma-separated list).
jarPath to the jar file for the function (if the function is written in Java). It also supports URL path [http/https/file (file protocol assumes that file already exists on worker host)/function (package URL from packages management service, only available in 2.8.1 and later versions)] where worker can download the package from.
log-topicThe topic to which the logs of a Pulsar Function are produced.
max-message-retriesHow many times should we try to process a message before giving up.
nameThe name of a Pulsar Function.
namespaceThe namespace of a Pulsar Function.
outputThe output topic of a Pulsar Function (If none is specified, no output is written).
output-serde-classnameThe SerDe class to be used for messages output by the function.
parallelismThe parallelism factor of a Pulsar Function (i.e. the number of function instances to run).
processing-guaranteesThe processing guarantees (delivery semantics) applied to the function. Available values: [ATLEAST_ONCE, ATMOST_ONCE, EFFECTIVELY_ONCE].ATLEAST_ONCE
pyPath to the main Python file/Python Wheel file for the function (if the function is written in Python). Since 2.8.1 and later versions, it also supports URL path [http/https/file (file protocol assumes that file already exists on worker host)/function (package URL from packages management service)] where worker can download the package from.
ramThe ram in bytes that need to be allocated per function instance (applicable only to process/docker runtime).
retain-orderingFunction consumes and processes messages in order.
schema-typeThe builtin schema type or custom schema class name to be used for messages output by the function.
sliding-interval-countThe number of messages after which the window slides.
sliding-interval-duration-msThe time duration after which the window slides.
subs-namePulsar source subscription name if user wants a specific subscription-name for the input-topic consumer.
tenantThe tenant of a Pulsar Function.
timeout-msThe message timeout in milliseconds.
topics-patternThe topic pattern to consume from list of topics under a namespace that match the pattern. [--input] and [--topic-pattern] are mutually exclusive. Add SerDe class name for a pattern in --custom-serde-inputs (only supported in Java Function).
update-auth-dataWhether or not to update the auth data.false
user-configUser-defined config key/values.
window-length-countThe number of messages per window.
window-length-duration-msThe time duration of the window in milliseconds.

get​

Fetch information about a Pulsar Function.

NameDescriptionDefault
fqfnThe Fully Qualified Function Name (FQFN) for the function.
nameThe name of a Pulsar Function.
namespaceThe namespace of a Pulsar Function.
tenantThe tenant of a Pulsar Function.

restart​

Restart function instance.

NameDescriptionDefault
fqfnThe Fully Qualified Function Name (FQFN) for the function.
instance-idThe function instanceId (restart all instances if instance-id is not provided.
nameThe name of a Pulsar Function.
namespaceThe namespace of a Pulsar Function.
tenantThe tenant of a Pulsar Function.

stop​

Stops function instance.

NameDescriptionDefault
fqfnThe Fully Qualified Function Name (FQFN) for the function.
instance-idThe function instanceId (restart all instances if instance-id is not provided.
nameThe name of a Pulsar Function.
namespaceThe namespace of a Pulsar Function.
tenantThe tenant of a Pulsar Function.

start​

Starts a stopped function instance.

NameDescriptionDefault
fqfnThe Fully Qualified Function Name (FQFN) for the function.
instance-idThe function instanceId (restart all instances if instance-id is not provided.
nameThe name of a Pulsar Function.
namespaceThe namespace of a Pulsar Function.
tenantThe tenant of a Pulsar Function.