5.5. 이벤트 싱크
이벤트 소스를 생성할 때 소스에서 이벤트를 보내는 싱크를 지정할 수 있습니다. 싱크는 다른 리소스에서 들어오는 이벤트를 수신할 수 있는 주소 지정 가능 또는 호출 가능한 리소스입니다. Knative 서비스, 채널 및 브로커는 모두 싱크의 예입니다.
주소 지정 오브젝트는 HTTP를 통해 제공되는 이벤트를 status.address.url
필드에 정의된 주소로 수신 및 승인합니다. 특수한 경우 Kubernetes 서비스
오브젝트도 주소 지정 가능한 인터페이스입니다.
호출 가능 오브젝트는 HTTP를 통해 전달되는 이벤트를 수신하고 이벤트를 변환하여 HTTP 응답에서 0
또는 1
개의 새 이벤트를 반환할 수 있습니다. 반환된 이벤트는 외부 이벤트 소스의 이벤트를 처리하는 것과 동일한 방식으로 추가로 처리할 수 있습니다.
5.5.1. Knative CLI 싱크 플래그
Knative(kn
) CLI를 사용하여 이벤트 소스를 생성할 때 --sink
플래그를 사용하여 해당 리소스에서 이벤트가 전송되는 싱크를 지정할 수 있습니다. 싱크는 다른 리소스에서 들어오는 이벤트를 수신할 수 있는 주소 지정 가능 또는 호출 가능한 리소스일 수 있습니다.
다음 예제에서는 싱크로 서비스 http://event-display.svc.cluster.local
를 사용하는 싱크 바인딩을 생성합니다.
싱크 플래그를 사용하는 명령의 예
$ kn source binding create bind-heartbeat \
--namespace sinkbinding-example \
--subject "Job:batch/v1:app=heartbeat-cron" \
--sink http://event-display.svc.cluster.local \ 1
--ce-override "sink=bound"
- 1
http://event-display.svc.cluster.local
의svc
는 싱크가 Knative 서비스인지 확인합니다. 기타 기본 싱크 접두사에는channel
, 및broker
가 포함됩니다.
kn
( kn
) CLI 명령에 --sink
플래그와 함께 사용할 수 있는 CR을 사용자 정의 하여 구성할 수 있습니다.