5.2. 自定义现有的 Kamelet 目录


这是自定义现有 kamelet 目录的示例。

  1. 目标 :在 Kafka 源 kamelet 中添加 "groupId" 选项。

    • 当前版本 kafka source kamelet 包含一个选项 "groupId"。以下示例不包含 "groupId"。
    • 在本小节中,您必须将 "groupId" 选项添加到现有 kamelet 目录。
  2. 自定义 Kamelet:

    • 获取原始文件。

      https://access.redhat.com/documentation/zh-cn/red_hat_build_of_apache_camel_k/1.10/html/kamelets_reference/kafka-source#kamelet_source_file_44

    • 定义新的 Kamelet 选项

      • 在下面添加有关新选项 "consumerGroup" 的信息

        spec:
          definition:
            properties:
      • 定义的内容类似如下:

        consumerGroup:
            title: Consumer Group
            description: A string that uniquely identifies the group of consumers to which this source belongs
            type: string
            example: "my-group-id"
    • 使用 camel-kafka 组件的 groupId 选项映射新的 kamelet 选项

      • 我们必须定义在以下哪些 camel-kafka 组件选项由 "consumerGroup" 设置:

        template:
          from:
            parameters:
      • 定义的内容如下:

        groupId: "\{{?consumerGroup}}"
  3. 代码

    spec:
      definition:
        description: Receive data from Kafka topics.
        properties:
    ~skip~
          consumerGroup:
            title: Consumer Group
            description: A string that uniquely identifies the group of consumers to which this source belongs
            type: string
            example: "my-group-id"
    ~skip~
      template:
        from:
          parameters:
            allowManualCommit: '{{allowManualCommit}}'
            autoCommitEnable: '{{autoCommitEnable}}'
            autoOffsetReset: '{{autoOffsetReset}}'
            brokers: '{{?bootstrapServers}}'
            pollOnError: '{{pollOnError}}'
            saslJaasConfig: org.apache.kafka.common.security.plain.PlainLoginModule required username='{{user}}' password='{{password}}';
            saslMechanism: '{{saslMechanism}}'
            securityProtocol: '{{securityProtocol}}'
            groupId: "{{?consumerGroup}}"
            consumersCount: "{{consumersCount}}"
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat
返回顶部