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.5.14. トリガー
ブローカーはトリガーと組み合わせて、イベントをイベントソースからイベントシンクに配信できます。イベントは、HTTP POST
リクエストとしてイベントソースからブローカーに送信されます。イベントがブローカーに送信された後に、それらはトリガーを使用して CloudEvent 属性 でフィルターされ、HTTP POST
リクエストとしてイベントシンクに送信できます。
Kafka ブローカーを使用している場合は、トリガーからイベントシンクへのイベントの配信順序を設定できます。トリガーのイベント配信順序の設定 を参照してください。
5.14.1. Web コンソールを使用したトリガーの作成 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform Web コンソールを使用すると、トリガーを作成するための合理的で直感的なユーザーインターフェイスが提供されます。Knative Eventing がクラスターにインストールされ、ブローカーが作成されると、Web コンソールを使用してトリガーを作成できます。
前提条件
- OpenShift Serverless Operator、Knative Serving、および Knative Eventing が OpenShift Container Platform クラスターにインストールされている。
- Web コンソールにログインしている。
- OpenShift Container Platform でアプリケーションおよび他のワークロードを作成するために、プロジェクトを作成しているか、適切なロールおよびパーミッションを持つプロジェクトにアクセスできる。
- トリガーに接続するために、ブローカーおよび Knative サービスまたは他のイベントシンクを作成している。
手順
- Developer パースペクティブで、Topology ページに移動します。
- トリガーを作成するブローカーにカーソルを合わせ、矢印をドラッグします。Add Trigger オプションが表示されます。
- Add Trigger を クリックします。
- Subscriber 一覧でシンクを選択します。
- Add をクリックします。
検証
- サブスクリプションの作成後に、これを Topology ページで表示できます。ここでは、ブローカーをイベントシンクに接続する線として表されます。
トリガーの削除
- Developer パースペクティブで、Topology ページに移動します。
- 削除するトリガーをクリックします。
- Actions コンテキストメニューで、Delete Trigger を選択します。
5.14.2. Knative CLI を使用したトリガーの作成 リンクのコピーリンクがクリップボードにコピーされました!
トリガーを作成するために Knative (kn
) CLI を使用すると、YAML ファイルを直接修正するよりも合理的で直感的なユーザーインターフェイスが得られます。kn trigger create
コマンドを使用して、トリガーを作成できます。
前提条件
- OpenShift Serverless Operator および Knative Eventing が OpenShift Container Platform クラスターにインストールされている。
-
Knative (
kn
) CLI をインストールしている。 - OpenShift Container Platform でアプリケーションおよび他のワークロードを作成するために、プロジェクトを作成しているか、適切なロールおよびパーミッションを持つプロジェクトにアクセスできる。
手順
トリガーを作成します。
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_name>
$ kn trigger create <trigger_name> --inject-broker --filter <key=value> --sink <sink_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow デフォルトで、トリガーはブローカーに送信されたすべてのイベントを、そのブローカーにサブスクライブされるシンクに転送します。トリガーの
--filter
属性を使用すると、ブローカーからイベントをフィルターできるため、サブスクライバーは定義された基準に基づくイベントのサブセットのみを受け取ることができます。
5.14.3. Knative CLI の使用によるトリガーの一覧表示 リンクのコピーリンクがクリップボードにコピーされました!
Knative (kn
) CLI を使用してトリガーを一覧表示すると、合理的で直感的なユーザーインターフェイスが提供されます。kn trigger list
コマンドを使用して、クラスター内の既存トリガーを一覧表示できます。
前提条件
- OpenShift Serverless Operator および Knative Eventing が OpenShift Container Platform クラスターにインストールされている。
-
Knative (
kn
) CLI をインストールしている。
手順
利用可能なトリガーの一覧を出力します。
kn trigger list
$ kn trigger list
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
NAME BROKER SINK AGE CONDITIONS READY REASON email default ksvc:edisplay 4s 5 OK / 5 True ping default ksvc:edisplay 32s 5 OK / 5 True
NAME BROKER SINK AGE CONDITIONS READY REASON email default ksvc:edisplay 4s 5 OK / 5 True ping default ksvc:edisplay 32s 5 OK / 5 True
Copy to Clipboard Copied! Toggle word wrap Toggle overflow オプション: JSON 形式でトリガーの一覧を出力します。
kn trigger list -o json
$ kn trigger list -o json
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.14.4. Knative CLI を使用したトリガーの記述 リンクのコピーリンクがクリップボードにコピーされました!
Knative (kn
) CLI を使用してトリガーを記述すると、合理的で直感的なユーザーインターフェイスが提供されます。kn trigger describe
コマンドを使用し、Knative CLI を使用してクラスター内の既存トリガーに関する情報を出力できます。
前提条件
- OpenShift Serverless Operator および Knative Eventing が OpenShift Container Platform クラスターにインストールされている。
-
Knative (
kn
) CLI をインストールしている。 - トリガーを作成している。
手順
コマンドを入力します。
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
5.14.5. Knative CLI を使用したトリガーでのイベントのフィルター リンクのコピーリンクがクリップボードにコピーされました!
Knative (kn
) CLI を使用してイベントをフィルターリングすると、合理的で直感的なユーザーインターフェイスが提供されます。kn trigger create
コマンドを適切なフラグとともに使用し、トリガーを使用してイベントをフィルターリングできます。
以下のトリガーの例では、type: dev.knative.samples.helloworld
属性のイベントのみがイベントシンクに送付されます。
kn trigger create <trigger_name> --broker <broker_name> --filter type=dev.knative.samples.helloworld --sink ksvc:<service_name>
$ kn trigger create <trigger_name> --broker <broker_name> --filter type=dev.knative.samples.helloworld --sink ksvc:<service_name>
複数の属性を使用してイベントをフィルターすることもできます。以下の例は、type、source、および extension 属性を使用してイベントをフィルターする方法を示しています。
kn trigger create <trigger_name> --broker <broker_name> --sink ksvc:<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 ksvc:<service_name> \
--filter type=dev.knative.samples.helloworld \
--filter source=dev.knative.samples/helloworldsource \
--filter myextension=my-extension-value
5.14.6. Knative CLI を使用したトリガーの更新 リンクのコピーリンクがクリップボードにコピーされました!
Knative (kn
) CLI を使用してトリガーを更新すると、合理的で直感的なユーザーインターフェイスが提供されます。特定のフラグを指定して kn trigger update
コマンドを使用して、トリガーの属性を更新できます。
前提条件
- OpenShift Serverless Operator および Knative Eventing が OpenShift Container Platform クラスターにインストールされている。
-
Knative (
kn
) CLI をインストールしている。 - OpenShift Container Platform でアプリケーションおよび他のワークロードを作成するために、プロジェクトを作成しているか、適切なロールおよびパーミッションを持つプロジェクトにアクセスできる。
手順
トリガーを更新します。
kn trigger update <trigger_name> --filter <key=value> --sink <sink_name> [flags]
$ kn trigger update <trigger_name> --filter <key=value> --sink <sink_name> [flags]
Copy to Clipboard Copied! Toggle word wrap Toggle overflow トリガーを、受信イベントに一致するイベント属性をフィルターするように更新できます。たとえば、
type
属性を使用します。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 <trigger_name> --filter type-
$ kn trigger update <trigger_name> --filter type-
Copy to Clipboard Copied! Toggle word wrap Toggle overflow --sink
パラメーターを使用して、トリガーのイベントシンクを変更できます。kn trigger update <trigger_name> --sink ksvc:my-event-sink
$ kn trigger update <trigger_name> --sink ksvc:my-event-sink
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.14.7. Knative CLI を使用したトリガーの削除 リンクのコピーリンクがクリップボードにコピーされました!
Knative (kn
) CLI を使用してトリガーを削除すると、合理的で直感的なユーザーインターフェイスが提供されます。kn trigger delete
コマンドを使用してトリガーを削除できます。
前提条件
- OpenShift Serverless Operator および Knative Eventing が OpenShift Container Platform クラスターにインストールされている。
-
Knative (
kn
) CLI をインストールしている。 - OpenShift Container Platform でアプリケーションおよび他のワークロードを作成するために、プロジェクトを作成しているか、適切なロールおよびパーミッションを持つプロジェクトにアクセスできる。
手順
トリガーを削除します。
kn trigger delete <trigger_name>
$ kn trigger delete <trigger_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
既存のトリガーを一覧表示します。
kn trigger list
$ kn trigger list
Copy to Clipboard Copied! Toggle word wrap Toggle overflow トリガーが存在しないことを確認します。
出力例
No triggers found.
No triggers found.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.14.8. トリガーのイベント配信順序の設定 リンクのコピーリンクがクリップボードにコピーされました!
Kafka ブローカーを使用している場合は、トリガーからイベントシンクへのイベントの配信順序を設定できます。
前提条件
- OpenShift Serverless Operator、Knative Eventing、および Knative Kafka が OpenShift Container Platform クラスターにインストールされている。
- Kafka ブローカーがクラスターで使用可能であり、Kafka ブローカーが作成されている。
- OpenShift Container Platform でアプリケーションおよび他のワークロードを作成するために、プロジェクトを作成しているか、適切なロールおよびパーミッションを持つプロジェクトにアクセスできる。
-
OpenShift (
oc
) CLI がインストールされている。
手順
Trigger
オブジェクトを作成または変更し、kafka.eventing.knative.dev/delivery.order
アノテーションを設定します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow サポートされているコンシューマー配信保証は次のとおりです。
unordered
- 順序付けられていないコンシューマーは、適切なオフセット管理を維持しながら、メッセージを順序付けずに配信するノンブロッキングコンシューマーです。
ordered
順序付きコンシューマーは、CloudEvent サブスクライバーからの正常な応答を待ってから、パーティションの次のメッセージを配信する、パーティションごとのブロックコンシューマーです。
デフォルトの順序保証は
unordered
です。
Trigger
オブジェクトを適用します。oc apply -f <filename>
$ oc apply -f <filename>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.14.9. 次のステップ リンクのコピーリンクがクリップボードにコピーされました!
- イベントがイベントシンクに配信されなかった場合に適用されるイベント配信パラメーターを設定します。イベント配信パラメーターの設定例 を参照してください。