第1章 OpenShift Serverless Logic の概要
OpenShift Serverless Logic を使用すると、開発者はイベント駆動型のサーバーレスアプリケーションをオーケストレーションする宣言型ワークフローモデルを定義できます。
ワークフローモデルは YAML または JSON 形式で記述できます。これは、クラウドまたはコンテナー環境でのサーバーレスアプリケーションの開発とデプロイに最適です。
OpenShift Container Platform にワークフローをデプロイするには、OpenShift Serverless Logic Operator を使用できます。以下のセクションでは、OpenShift Serverless Logic のさまざまな概念の概要を説明します。
1.1. Events リンクのコピーリンクがクリップボードにコピーされました!
イベント状態には、その状態が監視する CloudEvent の タイプを指定する 1 つ以上のイベント定義が含まれます。イベント状態を使用すると、指定された CloudEvent を受信したときに新しいワークフローインスタンスを開始したり、CloudEvent を受信するまで既存のワークフローインスタンスを一時停止したりできます。
イベント状態定義において、onEvents プロパティーは、同じ一連のアクションをトリガーする CloudEvent タイプをグループ化します。排他的プロパティーは、システムがどのようにイベントを照合するかを決定します。exclusive が false の場合、システムは eventRefs 配列内のすべての CloudEvent タイプが一致することを要求します。それ以外の場合、参照される CloudEvent タイプであればどれでも一致をトリガーできます。
次の例は、noisy と silent の 2 種類の CloudEvent タイプで設定されるイベント定義を示しており、次のような出力が得られます。
"events": [
{
"name": "noisyEvent",
"source": "",
"type": "noisy",
"dataOnly" : "false"
},
{
"name": "silentEvent",
"source": "",
"type": "silent"
}
]
ノイズのあるCloudEvent タイプと サイレントな CloudEvent タイプそれぞれに、個別の onEvent 項目を使用してイベント状態を定義し、exclusive プロパティーを false に設定することで、両方のイベントが発生した場合に異なるアクションを実行できます。
{
"name": "waitForEvent",
"type": "event",
"onEvents": [
{
"eventRefs": [
"noisyEvent"
],
"actions": [
{
"functionRef": "letsGetLoud"
}
]
},
{
"eventRefs": [
"silentEvent"
],
"actions": [
{
"functionRef": "beQuiet"
}
]
}
]
,
"exclusive": false
}