Skip to main content
Version: 4.0.x

管理函数

tip

本页面仅显示一些常用操作。有关最新和完整的信息,请参阅下面的参考文档

类别方法如果您想管理函数...
Pulsar CLIpulsar-admin,它列出了所有命令、标志、描述等。参见functions命令
Pulsar admin APIsREST API,列出了所有参数、响应、示例等。参见 /admin/v3/functions 端点
Pulsar admin APIsJava admin API,列出了所有类、方法、描述等。参见PulsarAdmin对象的functions方法

您可以对functions执行以下操作。

创建一个函数

您可以使用Admin CLI、REST API或Java Admin API在集群模式下创建Pulsar函数(将其部署在Pulsar集群上)。

使用create子命令。

示例

pulsar-admin functions create \
--tenant public \
--namespace default \
--name (the name of Pulsar Functions) \
--inputs test-input-topic \
--output persistent://public/default/test-output-topic \
--classname org.apache.pulsar.functions.api.examples.ExclamationFunction \
--jar $PWD/examples/api-examples.jar

更新一个函数

您可以使用Admin CLI、REST API或Java Admin API更新已部署到Pulsar集群的Pulsar函数。

使用update子命令。

示例

pulsar-admin functions update \
--tenant public \
--namespace default \
--name (the name of Pulsar Functions) \
--output persistent://public/default/update-output-topic \
# other options

启动一个函数

你可以启动一个函数的实例启动一个函数的所有实例

启动一个函数的实例

您可以使用Admin CLI、REST API或Java Admin API启动一个已停止的函数实例,使用instance-id

使用start子命令。

pulsar-admin functions start \
--tenant public \
--namespace default \
--name (the name of Pulsar Functions) \
--instance-id 1

启动一个函数的所有实例

您可以使用Admin CLI、REST API或Java Admin API启动所有已停止的函数实例。

使用start子命令。

示例

pulsar-admin functions start \
--tenant public \
--namespace default \
--name (the name of Pulsar Functions) \

停止一个函数

你可以停止一个函数的实例停止一个函数的所有实例

停止一个函数的实例

您可以使用Admin CLI、REST API或Java Admin API停止具有instance-id的函数实例。

使用stop子命令。

示例

pulsar-admin functions stop \
--tenant public \
--namespace default \
--name (the name of Pulsar Functions) \
--instance-id 1

停止函数的所有实例

您可以使用Admin CLI、REST API或Java Admin API停止所有函数实例。

使用stop子命令。

示例

pulsar-admin functions stop \
--tenant public \
--namespace default \
--name (the name of Pulsar Functions)

重新启动一个函数

你可以重启一个函数的实例重启一个函数的所有实例

重启一个函数的实例

使用Admin CLI、REST API或Java Admin API重新启动具有instance-id的函数实例。

使用restart子命令。

示例

pulsar-admin functions restart \
--tenant public \
--namespace default \
--name (the name of Pulsar Functions) \
--instance-id 1

重启一个函数的所有实例

您可以使用Admin CLI、REST API或Java admin API重新启动所有函数实例。

使用restart子命令。

示例

pulsar-admin functions restart \
--tenant public \
--namespace default \
--name (the name of Pulsar Functions)

列出所有函数

您可以使用Admin CLI、REST API或Java Admin API列出在特定租户和命名空间下运行的所有Pulsar函数。

使用list子命令。

示例

pulsar-admin functions list \
--tenant public \
--namespace default

删除一个函数

您可以使用Admin CLI、REST API或Java Admin API删除在Pulsar集群上运行的Pulsar函数。

使用delete子命令。

示例

pulsar-admin functions delete \
--tenant public \
--namespace default \
--name (the name of Pulsar Functions)

获取有关函数的信息

您可以使用Admin CLI、REST API或Java Admin API获取当前在集群模式下运行的Pulsar函数的信息。

使用get子命令。

示例

pulsar-admin functions get \
--tenant public \
--namespace default \
--name (the name of Pulsar Functions)

获取函数的状态

您可以获取函数实例的状态获取函数所有实例的状态

获取函数实例的状态

您可以使用Admin CLI、REST API或Java Admin API通过instance-id获取Pulsar函数实例的当前状态。

使用status子命令。

示例

pulsar-admin functions status \
--tenant public \
--namespace default \
--name (the name of Pulsar Functions) \
--instance-id 1

获取函数所有实例的状态

您可以使用Admin CLI、REST API或Java Admin API获取Pulsar函数实例的当前状态。

使用status子命令。

示例

pulsar-admin functions status \
--tenant public \
--namespace default \
--name (the name of Pulsar Functions)

获取函数的统计信息

您可以获取函数实例的统计信息获取函数所有实例的统计信息

获取函数实例的统计信息

您可以使用Admin CLI、REST API或Java admin API通过instance-id获取Pulsar Function实例的当前状态。

使用stats子命令。

示例

pulsar-admin functions stats \
--tenant public \
--namespace default \
--name (the name of Pulsar Functions) \
--instance-id 1

获取函数所有实例的统计信息

您可以使用Admin CLI、REST API或Java admin API获取Pulsar函数的当前状态。

使用stats子命令。

示例

pulsar-admin functions stats \
--tenant public \
--namespace default \
--name (the name of Pulsar Functions)

触发一个函数

您可以使用Admin CLI、REST API或Java admin API通过提供的值触发指定的Pulsar函数。

使用trigger子命令。

示例

pulsar-admin functions trigger \
--tenant public \
--namespace default \
--name (the name of Pulsar Functions) \
--topic (the name of input topic) \
--trigger-value \"hello pulsar\"
# or --trigger-file (the path of trigger file)

将与函数关联的状态放入

您可以使用Admin CLI、REST API或Java admin API来放置与Pulsar函数相关的状态。

使用putstate子命令。

示例

pulsar-admin functions putstate \
--tenant public \
--namespace default \
--name (the name of Pulsar Functions) \
--state "{\"key\":\"pulsar\", \"stringValue\":\"hello pulsar\"}"

获取与函数关联的状态

您可以使用Admin CLI、REST API或Java admin API获取与Pulsar函数关联的当前状态。

使用querystate子命令。

示例

pulsar-admin functions querystate \
--tenant public \
--namespace default \
--name (the name of Pulsar Functions) \
--key (the key of state)