2.5. Kafka 연결 내의 데이터에 작업 적용


Kamelet과 Kafka 주제 간에 전달되는 데이터에 대해 작업을 수행하려면 Kamelet Binding 내의 중간 단계로 action Kamelets를 사용합니다.

2.5.1. 이벤트 데이터를 다른 대상 주제로 라우팅

Kafka 인스턴스에 대한 연결을 구성할 때 선택적으로 이벤트 데이터에서 주제 정보를 변환하여 이벤트가 다른 Kafka 주제로 라우팅되도록 할 수 있습니다. 다음 변환 동작 Kamelets 중 하나를 사용합니다.

  • regex 라우터 - 정규식과 대체 문자열을 사용하여 메시지의 주제를 수정합니다. 예를 들어 주제 접두사를 제거하거나 접두사를 추가하거나 주제 이름의 일부를 제거합니다. Regex Router Action Kamelet(regex-router-action)을 구성합니다.
  • timestamp - 원본 주제와 메시지의 타임스탬프를 기반으로 메시지의 주제를 수정합니다. 예를 들어 타임스탬프에 따라 다른 테이블 또는 인덱스에 써야 하는 싱크를 사용하는 경우입니다. 예를 들어 Kafka에서 Elasticsearch에 이벤트를 작성하려면 각 이벤트는 이벤트 자체의 정보를 기반으로 다른 인덱스로 이동해야 합니다. Timestamp 라우터 동작 Kamelet(timestamp-router-action)을 구성합니다.
  • 메시지 TimeStamp - 원본 주제 값과 메시지 값 필드에서 들어오는 timestamp 필드를 기반으로 메시지의 주제를 수정합니다. Message Timestamp Router Action Kamelet(Message-timestamp-router-action)을 구성합니다.
  • 서술자 - Predicate Filter Action Kamelet(predicate-filter-action)을 구성하여 지정된 JSON 경로 표현식을 기반으로 이벤트를 필터링합니다.

사전 요구 사항

절차

대상 주제를 변환하려면 변환 동작 Kamelets 중 하나를 Kamelet Binding 내에서 중간 단계로 사용하십시오.

Kamelet Binding에 작업 Kameletlet을 추가하는 방법에 대한 자세한 내용은 Kamelet Binding에 작업 추가를 참조하십시오.

2.5.2. 특정 Kafka 항목에 대한 이벤트 데이터 필터링

다양한 Kafka 항목에 레코드를 생성하는 소스 Kamelet을 사용하고 하나의 Kafka 항목에 레코드를 필터링하려면 topic-name-matches-filter-action Kamelet을 Kamelet Binding의 중간 단계로 추가합니다.

사전 요구 사항

  • YAML 파일에 Kamelet Binding을 생성했습니다.
  • 이벤트 데이터를 필터링하려는 Kafka 항목의 이름을 알고 있습니다.

절차

  1. Kamelet 바인딩을 편집하여 topic-name-matches-filter-action Kamelet을 소스와 sink Kamelets 간의 중간 단계로 포함합니다.

    일반적으로 kafka-source Kamelet을 소스 Kamelet으로 사용하며 필요한 topic 매개변수의 값으로 주제를 제공합니다.

    다음 Kamelet Binding 예에서 kafka-source Kamelet은 test-topic, test-topic-2 및 test-topic-3 Kafka 주제와 topic-matches-filter-action Kamelet을 지정하여 topic-test 주제에서 이벤트 데이터를 필터링합니다.

    apiVersion: camel.apache.org/v1alpha1
    kind: KameletBinding
    metadata:
      name: kafka-to-log-by-topic
    spec:
      source:
        ref:
          kind: Kamelet
          apiVersion: camel.apache.org/v1alpha1
          name: kafka-source
        properties:
          bootstrapServers: "broker.url:9092"
          password: "testpassword"
          topic: "test-topic, test-topic-2, test-topic-3"
          user: "testuser"
          securityProtocol: "PLAINTEXT" // only for AMQ streams
    steps:
      - ref:
          kind: Kamelet
          apiVersion: camel.apache.org/v1alpha1
          name: topic-name-matches-filter-action
        properties:
          regex:  "test-topic"
    sink:
        ref:
          kind: Kamelet
          apiVersion: camel.apache.org/v1alpha1
          name: log-sink
        properties:
            showStreams: true
    Copy to Clipboard Toggle word wrap

    kafka-source Kamelet 이외의 소스 Kamelet에서 제공하는 항목을 필터링하려면 Kafka 주제 정보를 제공해야 합니다. 다음 예와 같이 insert-header-action Kamelet을 사용하여 Kafka topic 필드를 중개 단계로 추가할 수 있습니다. 이 필드는 Kamelet Binding의 topic-name-matches-filter-action 단계에서 다음과 같습니다.

    apiVersion: camel.apache.org/v1alpha1
    kind: KameletBinding
    metadata:
      name: coffee-to-log-by-topic
    spec:
      source:
        ref:
          kind: Kamelet
          apiVersion: camel.apache.org/v1alpha1
          name: coffee-source
        properties:
          period: 5000
    steps:
      - ref:
          kind: Kamelet
          apiVersion: camel.apache.org/v1alpha1
          name: insert-header-action
        properties:
          name:  "KAFKA.topic"
          value:  "test-topic"
      - ref:
          kind: Kamelet
          apiVersion: camel.apache.org/v1alpha1
          name: topic-name-matches-filter-action
        properties:
          regex:  "test-topic"
    sink:
        ref:
          kind: Kamelet
          apiVersion: camel.apache.org/v1alpha1
          name: log-sink
        properties:
          showStreams: true
    Copy to Clipboard Toggle word wrap
  2. Kamelet Binding YAML 파일을 저장합니다.
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2026 Red Hat
맨 위로 이동