【问题标题】:Knative kafka version and python supportKnative kafka 版本和 python 支持
【发布时间】:2020-08-27 23:55:47
【问题描述】:

我想使用 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) 中使用类似的东西

【问题讨论】:

    标签: python apache-kafka serverless-framework knative


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

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

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

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-19
      • 2021-05-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多