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
フラグは namespace を指定します。省略すると、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
-