我想用knative作为kafka事件触发器。我在附近找到了一个好医生https://knative.dev/docs/eventing/samples/kafka/source/index.html.
我的问题是:
它是否支持Kafka2.5版或更高版本?
我想用python编写代码,我遇到的文件是go。https://github.com/knative/eventing-contrib/blob/master/cmd/event_display/main.go
我想知道的是,我能在python中拥有相同的吗?或者我需要一个docker映像,它将使用python作为基本映像,在这种情况下,函数语法是什么?
def consumer(context, event):
context.logger.debug(event.body)
print(event.trigger.kind)
在knative事件触发器(python)中,我需要这样的东西
1条答案
按热度按时间r6vfmomb1#
它支持Kafka2.5,2.6(还没有)
您可以用python编写代码,并且需要自己构建一个容器映像。
引用的服务或url
spec.sink
可以用任何语言和目标语言编写,您需要启动http服务器并侦听事件。在您的案例中,我建议查看python cloudevents sdk文档,以接收包含使用flask的有用示例的事件:https://github.com/cloudevents/sdk-python/tree/v1.0.0-stable#request-云事件。
因此,kafka源代码示例中的knative服务需要引用您的自定义容器映像:
也,
spec.sink
可以是kubernetes服务。下面是将事件传递到自定义路径的配置示例my-custom-path
为kubernetes服务my-service
: