10.3. サブスクリプションの使用によるチャネルからシンクへのイベント送信
サブスクリプションは、Channel からイベントシンクにイベントを配信します。
10.3.1. サブスクリプションの作成
サブスクリプションを作成して、サービスまたは他のイベントシンクをチャネルに接続できます。
重要
Knative Eventing はテクノロジープレビュー機能としてご利用いただけます。InMemoryChannel タイプは開発での使用のみを目的として提供されるため、実稼働環境では使用できません。
前提条件
- Knative Serving および Eventing を含む OpenShift Serverless を Container Platform クラスターにインストールしている必要があります。クラスター管理者がこれをインストールできます。
- 使用する必要のある既存のシンクがない場合は、サーバーレスアプリケーションの作成および管理 についてのドキュメントを参照して、シンクとして使用する Service を作成します。
- サブスクリプションを接続するためのチャネルが必要です。Knative Eventing でのチャネルの使用 について参照してください。
手順
以下を含む YAML ファイルを作成して、チャネルをサービスに接続するために Subscription オブジェクトを作成します。
apiVersion: messaging.knative.dev/v1beta1 kind: Subscription metadata: name: my-subscription 1 namespace: default spec: channel: 2 apiVersion: messaging.knative.dev/v1beta1 kind: Channel name: example-channel delivery: 3 deadLetterSink: ref: apiVersion: serving.knative.dev/v1 kind: Service name: error-handler subscriber: 4 ref: apiVersion: serving.knative.dev/v1 kind: Service name: event-display
- 1
- サブスクリプションの名前。
- 2
- サブスクリプションが接続するチャネルの設定。
- 3
- イベント配信の設定。これは、サブスクリプションに対してサブスクライバーに配信できないイベントに何が発生するかについて示します。これが設定されると、使用できないイベントが
deadLetterSink
に送信されます。イベントがドロップされると、イベントの再配信は試行されず、エラーのログがシステムに記録されます。deadLetterSink
値は Destination である必要があります。 - 4
- サブスクライバーの設定。これは、イベントがチャネルから送信されるイベントシンクです。
以下を入力して YAML ファイルを適用します。
$ oc apply -f <FILENAME>