6.2. ワークフロースコープのイベントシステム設定


ワークフロースコープのイベントシステム設定を使用すると、特定のワークフローで生成および消費されるイベントの詳細なカスタマイズが可能になります。SonataFlow CR の spec.sink.ref および spec.sources[] フィールドを使用して、発信および着信イベントを設定できます。

6.2.1. 発信イベントシステムの設定

発信イベントを設定するには、SonataFlow CR の spec.sink.ref フィールドを使用できます。この設定により、ワークフローは、指定された Knative Eventing Broker を使用して、システムイベントとワークフローのビジネスイベントの両方を含むイベントを生成するようになります。

次の例は、ワークフロースコープの発信イベントシステムの SonataFlow CR を設定する方法を示しています。

apiVersion: sonataflow.org/v1alpha08
kind: SonataFlow
metadata:
  name: example-workflow
  namespace: example-workflow-namespace
  annotations:
    sonataflow.org/description: Example Workflow
    sonataflow.org/version: 0.0.1
    sonataflow.org/profile: preview
spec:
  sink:
    ref:
      name: outgoing-example-broker 1
      namespace: outgoing-example-broker-namespace 2
      apiVersion: eventing.knative.dev/v1
      kind: Broker
  flow: 3
    start: ExampleStartState
    events: 4
      - name: outEvent1 5
        source: ''
        kind: produced
        type: out-event-type1 6
    ...
1
SonataFlow システムイベントを含む、ワークフローによって生成されるすべてのイベントに使用する Knative Eventing Broker の名前。
2
Knative Eventing Broker の namespace を定義します。値を指定しない場合、パラメーターはデフォルトで SonataFlow namespace に設定されます。SonataFlow と同じ namespace にブローカーを作成することを検討してください。
3
SonataFlow CR の Flow 定義フィールド。
4
SonataFlow CR のイベント定義フィールド。
5
発信イベント outEvent1 定義の例。
6
outEvent1 発信イベントのイベントタイプ。

6.2.2. 着信イベントシステム設定

着信イベントを設定するには、SonataFlow CR の spec.sources[] フィールドを使用します。特定の設定を必要とする各イベントタイプのエントリーを追加できます。このセットアップにより、ワークフローはイベントタイプに基づいて異なるブローカーからのイベントを消費できるようになります。

着信イベントタイプに特定の Broker 設定がない場合、システムはイベントシステム設定の優先度ルールを適用します。

次の例は、ワークフロースコープの着信イベントシステムの SonataFlow CR を設定する方法を示しています。

注記

spec.sources[] エントリーとワークフローイベント間のリンクには、イベントタイプが使用されます。

apiVersion: sonataflow.org/v1alpha08
kind: SonataFlow
metadata:
  name: example-workflow
  namespace: example-workflow-namespace
  annotations:
    sonataflow.org/description: Example Workflow
    sonataflow.org/version: 0.0.1
    sonataflow.org/profile: preview
spec:
  sources:
    - eventType: in-event-type1 1
      ref:
        name: incoming-example-broker1 2
        namespace: incoming-example-broker1-namespace 3
        apiVersion: eventing.knative.dev/v1
        kind: Broker
    - eventType: in-event-type2 4
      ref:
        name: incoming-example-broker2 5
        namespace: incoming-example-broker2-namespace 6
        apiVersion: eventing.knative.dev/v1
        kind: Broker
  flow: 7
    start: ExampleStartState
    events: 8
      - name: inEvent1 9
        source: ''
        kind: consumed
        type: in-event-type1 10
      - name: inEvent2 11
        source: ''
        kind: consumed
        type: in-event-type2 12
    ...
1
指定された Knative Eventing Broker を使用して in-event-type1 タイプのイベントを消費するようにワークフローを設定します。
2
このワークフローに送信された in-event-type1 タイプのイベントを消費するために使用する Knative Eventing Broker の名前。
3
オプション: 値を指定しない場合、パラメーターはデフォルトで SonataFlow namespace に設定されます。SonataFlow ワークフローと同じ namespace にブローカーを作成することを検討してください。
4
指定された Knative Eventing Broker を使用して in-event-type2 タイプのイベントを消費するようにワークフローを設定します。
5
このワークフローに送信された in-event-type2 タイプのイベントを消費するために使用する Knative Eventing Broker の名前。
6
オプション: 値を指定しない場合、パラメーターはデフォルトで SonataFlow namespace に設定されます。SonataFlow ワークフローと同じ namespace にブローカーを作成することを検討してください。
7
SonataFlow CR の Flow 定義フィールド。
8
SonataFlow CR のイベント定義フィールド。
9
着信イベント inEvent1 定義の例。
10
着信イベント inEvent1 のイベントタイプ。対応する spec.sources[] エントリーを含むワークフローイベントのリンクは、イベントタイプ名 in-event-type1 を使用します。
11
着信イベント inEvent2 定義の例。
12
着信イベント inEvent2 のイベントタイプ。対応する spec.sources[] エントリーを含むワークフローイベントのリンクは、イベントタイプ名 in-event-type2 を使用して作成されます。
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.