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