knativekafka版本和python支持

t8e9dugd  于 2021-06-04  发布在  Kafka
关注(0)|答案(1)|浏览(469)

我想用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)中,我需要这样的东西

r6vfmomb

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:
  template:
    spec:
      containers:
          image: <your_custom_container_image>

也, spec.sink 可以是kubernetes服务。下面是将事件传递到自定义路径的配置示例 my-custom-path 为kubernetes服务 my-service :

spec:
  # ...
  sink:
    ref:
      apiVersion: v1
      kind: Service
      name: my-service
    uri: /my-custom-path

相关问题