5.2. トリガーの作成


Knative Eventing の Triggers を使用すると、要件に基づいて、ブローカーから特定のサブスクライバーにイベントをルーティングできます。Trigger を定義することで、イベントプロデューサーのコンシューマーへの動的な接続を可能にし、イベントが正しい宛先に配信されるようにします。このセクションでは、Trigger を作成し、そのフィルターを設定して、その機能を検証する手順を説明します。シンプルなルーティングのニーズでも、複雑なイベント駆動型ワークフローでも対応できます。

次の例は、Triggers の一般的な設定を示し、イベントを Knative サービスまたはカスタムエンドポイントにルーティングする方法を示しています。

Knative Serving サービスへのイベントのルーティング例

次の Trigger は、すべてのイベントをデフォルトのブローカーから my-service という名前の Knative Serving サービスにルーティングします。

apiVersion: eventing.knative.dev/v1
kind: Trigger
metadata:
  name: my-service-trigger
spec:
  broker: default
  filter:
    attributes:
      type: dev.knative.foo.bar
  subscriber:
    ref:
      apiVersion: serving.knative.dev/v1
      kind: Service
      name: my-service
Copy to Clipboard Toggle word wrap
注記

デバッグの目的で、filter 属性なしですべてのイベントをルーティングすることを推奨します。これにより、すべての受信イベントを観察および分析して、特定のフィルターを適用する前に問題を特定したり、ブローカーを介したイベントのフローを検証したりできます。フィルタリングの詳細は、高度なトリガーフィルター を参照してください。

このトリガーを適用するには、設定をファイル (trigger.yaml など) に保存し、次のコマンドを実行します。

$ oc apply -f trigger.yaml
Copy to Clipboard Toggle word wrap

イベントをカスタムパスにルーティングする例

この Trigger は、デフォルトのブローカーからのすべてのイベントを、my-service という名前のサービスのカスタムパス /my-custom-path にルーティングします。

apiVersion: eventing.knative.dev/v1
kind: Trigger
metadata:
  name: my-service-trigger
spec:
  broker: default
  subscriber:
    ref:
      apiVersion: v1
      kind: Service
      name: my-service
    uri: /my-custom-path
Copy to Clipboard Toggle word wrap

設定をファイル (custom-path-trigger.yaml など) に保存し、次のコマンドを実行できます。

$ oc apply -f custom-path-trigger.yaml
Copy to Clipboard Toggle word wrap

5.2.1. トリガーの作成

OpenShift Container Platform Web コンソールを使用すると、トリガーを作成するための合理的で直感的なユーザーインターフェイスが提供されます。Knative Eventing がクラスターにインストールされ、ブローカーが作成されると、Web コンソールを使用してトリガーを作成できます。

前提条件

  • OpenShift Serverless Operator、Knative Serving、および Knative Eventing が OpenShift Container Platform クラスターにインストールされている。
  • Web コンソールにログインしている。
  • OpenShift Container Platform でアプリケーションおよび他のワークロードを作成するために、プロジェクトを作成しているか、適切なロールおよびパーミッションを持つプロジェクトにアクセスできる。
  • トリガーに接続するために、ブローカーおよび Knative サービスまたは他のイベントシンクを作成している。

手順

  1. Topology ページに移動します。
  2. トリガーを作成するブローカーにカーソルを合わせ、矢印をドラッグします。Add Trigger オプションが表示されます。
  3. Add Trigger をクリックします。
  4. Subscriber リストでシンクを選択します。
  5. Add をクリックします。

検証

  • サブスクリプションの作成後に、これを Topology ページで表示できます。ここでは、ブローカーをイベントシンクに接続する線として表されます。

トリガーの削除

  1. Topology ページに移動します。
  2. 削除するトリガーをクリックします。
  3. Actions コンテキストメニューで、Delete Trigger を選択します。

5.2.2. Knative CLI を使用したトリガーの作成

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>
    Copy to Clipboard Toggle word wrap

    または、トリガーを作成し、ブローカー挿入を使用して default ブローカーを同時に作成できます。

    $ kn trigger create <trigger_name> --inject-broker --filter <key=value> --sink <sink_name>
    Copy to Clipboard Toggle word wrap

    デフォルトで、トリガーはブローカーに送信されたすべてのイベントを、そのブローカーにサブスクライブされるシンクに転送します。トリガーの --filter 属性を使用すると、ブローカーからイベントをフィルターできるため、サブスクライバーは定義された基準に基づくイベントのサブセットのみを受け取ることができます。

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat