第6章 OpenShift Serverless Logic の概要
OpenShift Serverless Logic を使用すると、開発者はイベント駆動型のサーバーレスアプリケーションをオーケストレーションする宣言型ワークフローモデルを定義できます。
ワークフローモデルは YAML または JSON 形式で記述できます。これは、クラウドまたはコンテナー環境でのサーバーレスアプリケーションの開発とデプロイに最適です。
OpenShift Container Platform にワークフローをデプロイするには、OpenShift Serverless Logic Operator を使用できます。
次のセクションでは、OpenShift Serverless Logic のさまざまな概念の概要を説明します。
6.1. Events
イベントの状態は、1 つ以上のイベント定義で構成されます。イベント定義を組み合わせて、イベント状態がリッスンする CloudEvent
タイプを指定します。イベント状態を使用すると、指定された CloudEvent
を受信したときに新しいワークフローインスタンスを開始したり、指定された CloudEvent
を受信するまで既存のワークフローインスタンスの実行を一時停止したりできます。
イベント状態定義では、onEvents
プロパティーを使用して、同じ アクション
セットをトリガーする可能性のある CloudEvent
タイプをグループ化します。イベント定義の exclusive
プロパティーは、イベントの一致がどのように計算されるかを示します。exclusive
プロパティーの値が false
の場合、一致させるには、eventRefs
配列内のすべての CloudEvent
タイプを受信する必要があります。それ以外の場合、参照された CloudEvent
タイプの受信は一致と見なされます。
次の例は、noisy
と silent
を含む 2 つの CloudEvent タイプで構成されるイベント定義を示しています。
イベント定義の例
"events": [ { "name": "noisyEvent", "source": "", "type": "noisy", "dataOnly" : "false" }, { "name": "silentEvent", "source": "", "type": "silent" } ]
noisy
と silent
の CloudEvent タイプの両方を受信したときにイベント一致が発生したことを示し、両方の CloudEvent タイプに対して異なるアクションを実行するには、両方のイベント定義を含むイベント状態を別々の onEvent
項目に定義し、exclusive
プロパティーを false に設定します。
複数の onEvent
項目を持つイベント状態定義の例
{ "name": "waitForEvent", "type": "event", "onEvents": [ { "eventRefs": [ "noisyEvent" ], "actions": [ { "functionRef": "letsGetLoud" } ] }, { "eventRefs": [ "silentEvent" ], "actions": [ { "functionRef": "beQuiet" } ] } ] , "exclusive": false }