This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.10.4. トリガーの使用
チャネルまたはブローカーに送信されたすべてのイベントは、デフォルトでそのチャネルまたはブローカーのすべてのサブスクライバーに送信されます。
トリガーを使用すると、チャネルまたはブローカーからイベントをフィルターできるため、サブスクライバーは定義された基準に基づくイベントのサブセットのみを受け取ることができます。
Knative CLI は、トリガーの作成および管理に使用できる kn trigger
コマンドのセットを提供します。
10.4.1. 前提条件 リンクのコピーリンクがクリップボードにコピーされました!
トリガーを使用する前に、以下が必要になります。
-
Knative Eventing および
kn
がインストールされている。 default
ブローカーまたは作成したブローカーのいずれかの利用可能なブローカー。default
ブローカーは、「Knative Eventing でのブローカーの使用」の説明に従うか、またはトリガーの作成時に--inject-broker
フラグを使用して作成できます。このフラグの使用方法については、以下の手順で説明します。- Knative サービスなどの利用可能なイベントコンシューマー。
10.4.2. kn を使用したトリガーの作成 リンクのコピーリンクがクリップボードにコピーされました!
手順
トリガーを作成します。
kn trigger create <trigger_name> --broker <broker_name> --filter <key=value> --sink <sink_name>
$ kn trigger create <trigger_name> --broker <broker_name> --filter <key=value> --sink <sink_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow トリガーを作成し、またブローカー挿入を使用して
default
ブローカーを作成するには、以下のコマンドを入力します。kn trigger create <TRIGGER-NAME> --inject-broker --filter <KEY=VALUE> --sink <SINK>
$ kn trigger create <TRIGGER-NAME> --inject-broker --filter <KEY=VALUE> --sink <SINK>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
トリガー YAML の例:
10.4.3. kn を使用したトリガーの一覧表示 リンクのコピーリンクがクリップボードにコピーされました!
kn trigger list
コマンドは利用可能なトリガーの一覧を出力します。
手順
利用可能なトリガーの一覧を出力します。
kn trigger list
$ kn trigger list
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
NAME BROKER SINK AGE CONDITIONS READY REASON email default svc:edisplay 4s 5 OK / 5 True ping default svc:edisplay 32s 5 OK / 5 True
NAME BROKER SINK AGE CONDITIONS READY REASON email default svc:edisplay 4s 5 OK / 5 True ping default svc:edisplay 32s 5 OK / 5 True
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
10.4.4. JSON 形式の kn を使用したトリガーの一覧表示 リンクのコピーリンクがクリップボードにコピーされました!
手順
JSON 形式でトリガーの一覧を出力します。
kn trigger list -o json
$ kn trigger list -o json
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
10.4.5. kn を使用したトリガーの記述 リンクのコピーリンクがクリップボードにコピーされました!
kn trigger describe
コマンドは、トリガーについての情報を出力します。
手順
コマンドを入力します。
kn trigger describe <trigger_name>
$ kn trigger describe <trigger_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
10.4.6. kn を使用したトリガーの削除 リンクのコピーリンクがクリップボードにコピーされました!
手順
- トリガーを削除します。
kn trigger delete <trigger_name>
$ kn trigger delete <trigger_name>
10.4.7. kn を使用したトリガーの更新 リンクのコピーリンクがクリップボードにコピーされました!
特定のフラグを指定して kn trigger update
コマンドを使用して、トリガーの属性を更新できます。
例
トリガーを、受信イベントに一致するイベント属性をフィルターするように更新できます (例:
type=knative.dev.event
)。kn trigger update <trigger_name> --filter type=knative.dev.event
$ kn trigger update <trigger_name> --filter type=knative.dev.event
Copy to Clipboard Copied! Toggle word wrap Toggle overflow キー
type
でフィルター属性を削除します。kn trigger update mytrigger --filter type-
$ kn trigger update mytrigger --filter type-
Copy to Clipboard Copied! Toggle word wrap Toggle overflow トリガーのシンクを更新し、
event-display
という名前のサービスを使用できるようにします。kn trigger update <trigger_name> --sink svc:event-display
$ kn trigger update <trigger_name> --sink svc:event-display
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
10.4.8. トリガーを使用したイベントのフィルター リンクのコピーリンクがクリップボードにコピーされました!
以下のトリガーの例では、type: dev.knative.samples.helloworld
属性のあるイベントのみがイベントシンクに到達します。
kn trigger create <trigger_name> --broker <broker_name> --filter type=dev.knative.samples.helloworld --sink svc:<service_name>
$ kn trigger create <trigger_name> --broker <broker_name> --filter type=dev.knative.samples.helloworld --sink svc:<service_name>
複数の属性を使用してイベントをフィルターすることもできます。以下の例は、type、source、および extension 属性を使用してイベントをフィルターする方法を示しています。
kn trigger create <trigger_name> --broker <broker_name> --sink svc:<service_name> \ --filter type=dev.knative.samples.helloworld \ --filter source=dev.knative.samples/helloworldsource \ --filter myextension=my-extension-value
$ kn trigger create <trigger_name> --broker <broker_name> --sink svc:<service_name> \
--filter type=dev.knative.samples.helloworld \
--filter source=dev.knative.samples/helloworldsource \
--filter myextension=my-extension-value