0

我想将 Knative 用于 kafka 事件触发器。我在它周围找到了一个很好的文档https://knative.dev/docs/eventing/samples/kafka/source/index.html

我的问题是:

  1. 它是否支持 kafka 2.5 或更高版本?

  2. 我想用python编写代码,我遇到的文件在go中。 https://github.com/knative/eventing-contrib/blob/master/cmd/event_display/main.go

我想知道的我可以在python中拥有相同的东西吗?或者我是否需要一个使用 python 作为基础图像的 docker 图像,在这种情况下,函数语法是什么?

def consumer(context, event):
    context.logger.debug(event.body)
    print(event.trigger.kind)

我在 Knative 事件触发器(python)中想要这样的东西

4

1 回答 1

0
  1. 它支持 Kafka 2.5,不支持 2.6(还)
  2. 可以用python写代码,需要自己构建容器镜像。

引用的服务或 URLspec.sink可以用任何语言编写,并且您需要使用目标语言来启动 HTTP 服务器并侦听事件。

在您的情况下,我建议查看 Python CloudEvents SDK 文档以接收包含使用 Flask 的有用示例的事件:https ://github.com/cloudevents/sdk-python/tree/v1.0.0-stable#request-to-云事件

因此,Kafka Source 示例中的Knative 服务需要引用您的自定义容器镜像:

# ...
spec:
  template:
    spec:
      containers:
          image: <your_custom_container_image>

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

spec:
  # ...
  sink:
    ref:
      apiVersion: v1
      kind: Service
      name: my-service
    uri: /my-custom-path
于 2020-08-27T15:50:41.077 回答