如何通过Rest调用触发Spring Cloud Function并将输出发送到Kafka?
可以实现,仅修改配置即可完成需求
你只需要在现有配置中添加web绑定规则,指定Rest调用触发函数时的输出目标为Kafka的produce-topic,具体配置调整如下:
spring: cloud: function: definition: cloudFunc # 添加web绑定配置,将函数输出定向到Kafka主题 web: bindings: cloudFunc-out-0: produce-topic stream: kafka: binder: brokers: localhost:9092 bindings: cloudFunc-out-0: destination: produce-topic cloudFunc-in-0: destination: consume-topic group: sample-group
配置说明:
spring.cloud.function.web.bindings.cloudFunc-out-0: produce-topic:该配置强制Rest调用触发cloudFunc时,函数的输出不再直接返回给HTTP调用方,而是绑定到Stream的produce-topic目标,最终发送到对应的Kafka主题。- 原有的Kafka消费触发逻辑不受影响:向
consume-topic发送消息时,依然会触发cloudFunc并将输出发送到produce-topic。
这样修改后,无论是通过Kafka消息还是Rest接口触发函数,输出都会统一发送到Kafka的produce-topic,无需改动任何代码。
内容的提问来源于stack exchange,提问作者Vishnukanth
相关产品推荐
相关产品推荐

