3.2. kn-event 플러그인을 사용하여 이벤트 전송
kn event send
명령을 사용하여 이벤트를 보낼 수 있습니다. 이벤트는 공개적으로 사용 가능한 주소로 보내거나 Kubernetes 서비스와 Knative 서비스, 브로커 및 채널과 같은 클러스터 내부의 주소 지정 가능한 리소스로 보낼 수 있습니다. 명령은 kn event build
명령과 동일한 빌더와 같은 인터페이스를 사용합니다.
사전 요구 사항
-
Knative(
kn
) CLI가 설치되어 있습니다.
프로세스
이벤트를 보냅니다.
$ kn event send --field <field-name>=<value> --type <type-name> --id <id> --to-url <url> --to <cluster-resource> --namespace <namespace>
다음과 같습니다.
-
--field
플래그는 이벤트에 필드-값 쌍으로 데이터를 추가합니다. 여러 번 사용할 수 있습니다. -
--type
플래그를 사용하면 이벤트 유형을 지정하는 문자열을 지정할 수 있습니다. -
--id
플래그는 이벤트의 ID를 지정합니다. -
공개적으로 액세스 가능한 대상으로 이벤트를 보내는 경우
--to-url
플래그를 사용하여 URL을 지정합니다. 이벤트를 클러스터 내 Kubernetes 리소스로 보내는 경우
--to
플래그를 사용하여 대상을 지정합니다.-
<
Kind>:<ApiVersion>:<name
> 형식을 사용하여 Kubernetes 리소스를 지정합니다.
-
<
--namespace
플래그는 네임스페이스를 지정합니다. 생략하면 네임스페이스가 현재 컨텍스트에서 가져옵니다.이러한 플래그는 모두 대상 사양을 제외하고 선택 사항입니다. 이 플래그는
--to-url
또는--to
중 하나를 사용해야 합니다.다음 예제에서는 이벤트를 URL로 전송하는 방법을 보여줍니다.
명령 예
$ kn event send \ --field player.id=6354aa60-ddb1-452e-8c13-24893667de20 \ --field player.game=2345 \ --field points=456 \ --type org.example.gaming.foo \ --to-url http://ce-api.foo.example.com/
다음 예제에서는 클러스터 내 리소스로 이벤트를 전송하는 방법을 보여줍니다.
명령 예
$ kn event send \ --type org.example.kn.ping \ --id $(uuidgen) \ --field event.type=test \ --field event.data=98765 \ --to Service:serving.knative.dev/v1:event-display
-