5.7. 고급 트리거 필터


고급 트리거 필터는 보다 정확한 이벤트 라우팅을 위한 고급 옵션을 제공합니다. 정확한 일치, 접두사 또는 접미사와 CloudEvent 확장으로 이벤트를 필터링할 수 있습니다. 이렇게 추가된 제어를 사용하면 관련 이벤트만 특정 작업을 트리거하도록 이벤트 흐름을 조정하는 방법을 보다 쉽게 조정할 수 있습니다.

중요

고급 트리거 필터 기능은 기술 프리뷰 기능 전용입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.

Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.

5.7.1. 고급 트리거 필터 개요

고급 트리거 필터 기능은 CloudEvents 서브스크립션 API에 정의된 필터 API 필드와 정렬하는 트리거에 새 필터 필드를 추가합니다. 각 표현식이 각 이벤트에 대해 true 또는 false 로 평가되는 필터 표현식을 지정할 수 있습니다.

다음 예제에서는 고급 필터 필드를 사용하는 트리거를 보여줍니다.

apiVersion: eventing.knative.dev/v1
kind: Trigger
metadata:
  name: my-service-trigger
spec:
  broker: default
  filters:
    - cesql: "source LIKE '%commerce%' AND type IN ('order.created', 'order.updated', 'order.canceled')"
  subscriber:
    ref:
      apiVersion: serving.knative.dev/v1
      kind: Service
      name: my-service
Copy to Clipboard Toggle word wrap

filters 필드에는 필터 표현식 배열이 포함되어 있으며 각 표현식은 true 또는 false 로 평가됩니다. 표현식이 false 로 평가되면 이벤트가 구독자에게 전송되지 않습니다. 각 필터 표현식은 필터 유형과 해당 표현식 내에서 허용되는 추가 속성 집합을 결정하는 특정 분판을 사용합니다.

5.7.2. 지원되는 필터 방언

Illects를 사용하여 특정 이벤트를 대상으로 하는 유연한 필터 표현식을 정의할 수 있습니다.

고급 트리거 필터는 이벤트를 일치시키고 필터링하는 다양한 방법을 제공하는 다음과 같은 직사각형을 지원합니다.

  • exact
  • prefix
  • suffix
  • all
  • Any
  • 해당 없음
  • cesql

각choect는 특정 기준에 따라 이벤트를 필터링하는 다른 방법을 제공하여 처리를 위한 정확한 이벤트 선택을 가능하게 합니다.

5.7.2.1. 정확한 필터 방사

정확한 dialogect는 CloudEvent 속성의 문자열 값을 지정된 문자열과 정확히 비교하여 이벤트를 필터링합니다. 비교는 대소문자를 구분합니다. 속성이 문자열이 아닌 경우 필터는 특성을 지정된 값과 비교하기 전에 문자열 표현으로 변환합니다.

정확한 필터의 예

apiVersion: eventing.knative.dev/v1
kind: Trigger
metadata:
  ...
spec:
  ...
  filters:
    - exact:
        type: com.github.push
Copy to Clipboard Toggle word wrap

5.7.2.2. 접두사 필터 모음

접두사 대화 상자는 지정된 문자열로 시작하는 CloudEvent 속성의 문자열 값을 비교하여 이벤트를 필터링합니다. 이 비교는 대소문자를 구분합니다. 속성이 문자열이 아닌 경우 필터는 지정된 값과 일치하기 전에 특성을 문자열 표현으로 변환합니다.

접두사 필터 대화 상자의 예

apiVersion: eventing.knative.dev/v1
kind: Trigger
metadata:
  ...
spec:
  ...
  filters:
    - prefix:
        type: com.github.
Copy to Clipboard Toggle word wrap

5.7.2.3. 접미사 필터 모음

접미사 대화 상자는 지정된 문자열로 끝나는 CloudEvent 속성의 문자열 값을 비교하여 이벤트를 필터링합니다. 이 비교는 대소문자를 구분합니다. 속성이 문자열이 아닌 경우 필터는 지정된 값과 일치하기 전에 특성을 문자열 표현으로 변환합니다.

접미사 필터 대화 상자의 예

apiVersion: eventing.knative.dev/v1
kind: Trigger
metadata:
  ...
spec:
  ...
  filters:
    - suffix:
        type: .created
Copy to Clipboard Toggle word wrap

5.7.2.4. 모든 필터 방사

모든 필터 방언에서는 이벤트를 처리하기 위해 모든 중첩된 필터 표현식이 true 로 평가되어야 합니다. 중첩된 표현식 중 하나라도 false 를 반환하면 이벤트가 구독자에게 전송되지 않습니다.

모든 필터의 예

apiVersion: eventing.knative.dev/v1
kind: Trigger
metadata:
  ...
spec:
  ...
  filters:
    - all:
        - exact:
            type: com.github.push
        - exact:
            subject: https://github.com/cloudevents/spec
Copy to Clipboard Toggle word wrap

5.7.2.5. 모든 필터 방언

모든 필터 모음에는 true 로 평가하려면 중첩된 필터 표현식 중 하나 이상이 필요합니다. 중첩된 표현식이 true 를 반환하지 않으면 이벤트가 구독자에게 전송되지 않습니다.

필터 방언의 예

apiVersion: eventing.knative.dev/v1
kind: Trigger
metadata:
  ...
spec:
  ...
  filters:
    - any:
        - exact:
            type: com.github.push
        - exact:
            subject: https://github.com/cloudevents/spec
Copy to Clipboard Toggle word wrap

5.7.2.6. 대화 상자를 필터링하지 않음

not 필터 모음을 사용하려면 중첩된 필터 표현식이 이벤트를 처리하기 위해 false 로 평가되어야 합니다. 중첩된 표현식이 true 로 평가되면 이벤트가 구독자에게 전송되지 않습니다.

필터 모음이 아닌

apiVersion: eventing.knative.dev/v1
kind: Trigger
metadata:
  ...
spec:
  ...
  filters:
    - not:
        exact:
          type: com.github.push
Copy to Clipboard Toggle word wrap

5.7.2.7. cesql 필터 dialog box

CloudEvents SQL 표현식(cesql)을 사용하면 structd Query Language(SQL) Cryostat 절의 구문을 간단히 설명하는 복잡한 식에 대한 CloudEvent 속성의 컴퓨팅 및 일치를 허용합니다.

cesql 필터 scanect는 CloudEvents SQL 표현식을 사용하여 이벤트를 필터링합니다. 이벤트를 처리하려면 제공된 CESQL 표현식이 true 로 평가되어야 합니다.

cesql 필터 vacation의 예

apiVersion: eventing.knative.dev/v1
kind: Trigger
metadata:
  ...
spec:
  ...
  filters:
    - cesql: "source LIKE '%commerce%' AND type IN ('order.created', 'order.updated', 'order.canceled')"
Copy to Clipboard Toggle word wrap

cesql 필터 dialogect의 구문 및 기능에 대한 자세한 내용은 CloudEvents SQL Expression Language 를 참조하십시오.

5.7.3. 기존 필터 필드와 충돌

필터와 기존 필터 필드를 동시에 사용할 수 있습니다. 새로운 new-trigger- filter s 기능을 활성화하고 오브젝트에 필터와 필터 가 모두 포함된 경우 filters 필드가 재정의됩니다. 이 설정을 사용하면 기존 필터에 대한 지원을 유지하면서 새 필터 필드를 테스트할 수 있습니다. 새 필드를 기존 트리거 오브젝트에 점진적으로 도입할 수 있습니다.

필터 필드를 재정의하는 필터 필드의 예:

apiVersion: eventing.knative.dev/v1
kind: Trigger
metadata:
  name: my-service-trigger
spec:
  broker: default
  # Existing filter field. This will be ignored when the new filters field is present.
  filter:
    attributes:
      type: dev.knative.foo.bar
      myextension: my-extension-value
  # New filters field. This takes precedence over the old filter field.
  filters:
    - cesql: "type = 'dev.knative.foo.bar' AND myextension = 'my-extension-value'"
  subscriber:
    ref:
      apiVersion: serving.knative.dev/v1
      kind: Service
      name: my-service
Copy to Clipboard Toggle word wrap

5.7.4. 기존 속성 필터

레거시 속성 필터를 사용하면 확장을 포함하여 원하는 수의 CloudEvents 속성에 대한 정확한 일치를 필터링할 수 있습니다. 해당 기능은 정확한 필터 방언을 미러링하며 가능한 경우 정확한 필터로 전환하는 것이 좋습니다. 그러나 이전 버전과의 호환성을 위해 특성 필터를 계속 사용할 수 있습니다.

다음 예제는 default 브로커의 이벤트와 일치하는 dev.knative.foo.bar 를 필터링하고 확장 기능을 my-extension -value 값으로 설정하는 방법을 표시합니다.

특정 특성으로 이벤트 필터링의 예

apiVersion: eventing.knative.dev/v1
kind: Trigger
metadata:
  name: my-service-trigger
spec:
  broker: default
  filter:
    attributes:
      type: dev.knative.foo.bar
      myextension: my-extension-value
  subscriber:
    ref:
      apiVersion: serving.knative.dev/v1
      kind: Service
      name: my-service
Copy to Clipboard Toggle word wrap

filters 필드와 기존 filter 필드가 모두 지정되면 filters 필드가 우선합니다.

예를 들어 다음 예제에서는 dev.knative.a 유형의 이벤트가 전달되고 dev.knative.b 유형의 이벤트는 무시됩니다.

apiVersion: eventing.knative.dev/v1
kind: Trigger
metadata:
  name: my-service-trigger
spec:
  broker: default
  filters:
    exact:
      type: dev.knative.a
  filter:
    attributes:
      type: dev.knative.b
  subscriber:
    ref:
      apiVersion: serving.knative.dev/v1
      kind: Service
      name: my-service
Copy to Clipboard Toggle word wrap
맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2026 Red Hat