Apache pulsar - 函数执行不影响输出

Apache pulsar - function execution not effecting the output

我按照这里的手册操作:pulsar functions

我在 Java 中有这个函数声明:

package org.example.test;

import java.util.function.Function;

public class ExclamationFunction implements Function<String, String> {
   @Override
   public String apply(String input) {
       return String.format("%s!", input);
   }
}

我建了罐子。将其复制到我的 pulsar stanalone docker 和 运行 以下命令:

./bin/pulsar-admin functions create --classname org.example.test.ExclamationFunction --jar java-function-1.0-SNAPSHOT.jar --inputs my-topic-1 --namespace default --name JavaFunction

然后:

./bin/pulsar-admin functions trigger --tenant public --namespace default --name JavaFunction --triggerValue "test"

现在我在 C# 中使用一些客户端来使用队列,当我阅读消息时我看到“test”而不是“test!”。

看来功能触发器有效,但功能本身没有生效。

您需要指定输出主题并消费输出主题:--output exclamation-topic