Workflow Studio は、CloudFlow ワークフローの構築および編集を支援するローコード・ビジュアルデザイナーです。ページ上部のメニューバーからアクセス可能なモードが 3 つあります。
CloudFlow Studio — ビジュアルキャンバスにステートをドラッグ&ドロップして、コードを記述せずにワークフローを設計します。
YAML — コードエディタでワークフロー定義を記述・編集し、リアルタイムで可視化結果を確認します。
ワークフローの構成 — ワークフローメタデータを設定し、必要な権限を持つ実行ロールを割り当てます。
CloudFlow Studio モード
CloudFlow Studio モードでは、ワークフローを視覚的に構築するためのグラフィカルインターフェイスが提供されます。「ワークフローの編集」ページには、以下の 5 つのセクションがあります。

| セクション | 説明 |
|---|---|
| 1 — メニューバー | CloudFlow Studio、YAML、ワークフローの構成 の各モード間を切り替えます。 |
| 2 — ステート表示セクション | 操作、フロー、パターン の各タブから利用可能なステートを参照・検索できます。ここからステートをキャンバスへドラッグします。 |
| 3 — ワークフローキャンバス | ステートを配置してワークフローを構成するメインワークスペースです。Workflow Studio は、構築中のワークフローに対応する YAML を自動生成します。 |
| 4 — パラメーター設定セクション | 選択したステートのプロパティ(基本設定、入出力フィルタリング、エラー処理など)を表示・編集します。 |
| 5 — 機能ボタンセクション | 保存、終了、実行 を行います。 |
ステート表示セクション
ステート表示セクションには、以下の 3 つのタブがあります。
操作タブ
Alibaba Cloud サービス(エラスティックコンピューティング、インターネットミドルウェア、データベース、AI サービスなど)の API オペレーション一覧を表示します。これらの API オペレーションはすべてタスクステートとしてワークフローに統合可能です。各オペレーションをキャンバスへドラッグすることで、ステップとして追加できます。
フロータブ
特定の操作を実行せず、ワークフローの制御ロジックを定義するためのフローコントロールステートの一覧です。利用可能なフローステートは以下のとおりです。
Choice — 条件に基づいて分岐します。
Parallel — 複数のブランチを同時実行します。
Map — コレクション内の要素を反復処理します。
Pass — 処理を行わず、入力をそのまま出力に渡します。
Wait — 指定された持続時間だけ待機します。
Succeed — 正常終了を示します。
Fail — エラーを示し、実行を停止します。
パターンタブ
あらかじめ定義されたワークフロー構築ブロックの一覧です。パターンをキャンバスへドラッグすると、一般的なワークフロー構造を素早くスキャフォールドできます。
ステート表示セクション上部の検索ボックスを使用して、キーワードで任意のステートを検索できます。

ワークフローキャンバス
キャンバスは、ワークフローを構成する場所です。ステート表示セクションからステートをキャンバスへドラッグしてください。有効なドロップ位置には、水平または垂直のガイドラインが表示されます。Workflow Studio は、フローチャートの構築に合わせて YAML 定義を自動生成します。

キャンバスツールバー
キャンバス左上隅にあるツールバーには、以下のコントロールが用意されています。
拡大 / 縮小
フローチャートを中央に表示
選択したステートを削除
直前の操作を元に戻す

ステートのインラインデバッグ
ステートのパラメーターを設定した後、エディターを離れることなく、キャンバス上で直接デバッグできます。ステート上にマウスをホバーし、
アイコンをクリックして実行します。実行が完了したら、
アイコンをクリックして結果を確認します。

パラメーター設定セクション
キャンバス上のステートを選択すると、そのプロパティが「パラメーター設定セクション」に表示されます。パネルには、基本設定、入力設定、出力設定、トラブルシューティング の 4 つのタブがあります。

以下の表では、InvokeFunction タスクステートを例として、主なパラメーターについて説明します。その他のパラメーターについては、デフォルト値のまま使用してください。
基本設定
| パラメーター | 説明 | 例 |
|---|---|---|
| ステート名 | ステートを識別するための説明的な名称です。 | InvokeFunction |
| 呼び出しパラメーター | 関数名、バージョンまたはエイリアス、呼び出し方法、およびペイロードです。「[YAML 編集に切り替える]」をクリックして、YAML で設定します。 | 下記の YAML サンプルを参照してください。 |
| 関数 | 呼び出す関数を指定します。 | myfunction |
| バージョンまたはエイリアス | 関数のバージョンまたはエイリアスを指定します。 | LATEST |
| 関数呼び出し方法 | 同期呼び出し または 非同期呼び出し を選択します。詳細については、「関数呼び出し」をご参照ください。 | 同期呼び出し |
| リクエストの読み込み | 関数をトリガーするペイロードを、YAML または JSON 形式で指定します。 | 下記の JSON サンプルを参照してください。 |
| 次のステート | このステートの実行後に遷移するステートを指定します。設定は即時反映されます。 | Parallel |
YAML 呼び出しサンプル:
invocationType: Sync
resourceArn: acs:fc:cn-beijing:1034354682****:functions/GPU-demo/LATEST
body:
key: valueJSON ペイロードサンプル:
{
"key1": "value1",
"key2.$": "$.myStateInput.key",
"key3": 100
}入力設定
ステートへの入力データの渡し方を制御します。
| オプション | 説明 |
|---|---|
| JSONPath を使用して一部のパラメーターを選択 | JSONPath 式を入力して、入力から特定のフィールドを抽出し、ステートの入力として使用します。 |
| 元の入力をノード入力として使用 | フィルタリングせずに、入力全体をステートに直接渡します。 |
| パラメーター フィルターを使用してパラメーターを構成 | YAML または JSON 形式で新しい入力パラメーターを構成します。 |
パラメーター フィルターの例:
FieldA: 123
FieldB: string
FieldC.$: $Input出力設定
出力データを後続ステートへ渡す方法を制御します。
| オプション | 説明 |
|---|---|
| JSONPath を使用して一部のパラメーターを選択 | JSONPath 式を入力して、出力から特定のフィールドを抽出します。 |
| 生の入力を出力として渡す | 実行結果ではなく、元の入力をステートの出力として転送します。 |
| パラメーター フィルターを使用してパラメーターを構成 | YAML または JSON 形式で新しい出力パラメーターを構成します。 |
トラブルシューティング
ステートのリトライおよびエラー捕捉ポリシーを構成します。
エラー発生時のリトライ
リトライの追加 をクリックして、リトライポリシーを定義します。各ポリシーには以下の項目が含まれます。
| パラメーター | 説明 | 例 |
|---|---|---|
| エラー種別 | 一致させるエラー種別を 1 つ以上指定します。 | FC.BadResponse |
| 最大リトライ回数 | リトライを試行する最大回数です。 | 5 |
| リトライ間隔(秒) | リトライ間の待機時間(秒単位)です。最大値は 86400 です。 | 3 |
| バックオフ乗数 | 各リトライ後に適用されるリトライ間隔の乗数です。 | 1 |
| 最大バックオフ時間(秒) | 指数バックオフ中にリトライ間隔が達する上限値(秒単位)です。 | 5 |
エラーおよび例外の捕捉
キャプチャールールの追加 をクリックして、エラー回復ルールを定義します。該当するエラーが発生した場合、ワークフローは指定されたフォールバックステートへ遷移します。
| パラメーター | 説明 | 例 |
|---|---|---|
| エラー種別 | 一致させるエラー種別を 1 つ以上指定します。 | FC.EntityTooLarge |
| フォールバックステート | エラーが捕捉された際に遷移するステートを指定します。 | Hello World |
| レスポンス | エラーが捕捉された際に返される結果です。この値はフォールバックステートの入力に追加されます。YAML または JSON 形式をサポートします。 | {"key": "hello world"} |
YAML モード
YAML モードでは、コードエディタとリアルタイム可視化ペインが併設されています。「ワークフローの編集」ページには、以下の 4 つのセクションがあります。

| セクション | 説明 |
|---|---|
| 1 — メニューバー | CloudFlow Studio、YAML、ワークフローの構成 の各モード間を切り替えます。 |
| 2 — YAML エディタ | YAML 形式でワークフロー定義を記述・編集します。 |
| 3 — 可視化ペイン | ワークフロー定義のリアルタイムフローチャートを表示します。このペインからステートを削除することもできます。 |
| 4 — 機能ボタンセクション | 保存、終了、実行 を行います。 |
YAML エディタ
YAML エディタでは、ワークフロー定義を直接記述・編集できます。変更は双方向に同期されます。
コード → 可視化:YAML 定義を更新すると、可視化ペインがリアルタイムで更新されたフローチャートをレンダリングします。更新されたフローチャートは、CloudFlow Studio タブにも反映されます。
可視化 → コード:CloudFlow Studio タブでステートの並べ替え・削除・追加を行う、または可視化ペインでステートを削除すると、YAML コードが自動更新されます。
可視化ペイン
可視化ペインでは、ワークフローの全体構造をリアルタイムで表示します。YAML 定義の記述・編集に合わせて、フローチャートが自動更新されます。
YAML 定義に構文エラーが含まれる場合、可視化ペインはエラーが解消されるまでレンダリングを一時停止します。
ワークフローの構成モード
ワークフローの構成モードでは、ワークフローメタデータの設定および実行ロールの割り当てが可能です。「ワークフローの編集」ページには、以下の 4 つのセクションがあります。

| セクション | 説明 |
|---|---|
| 1 — メニューバー | CloudFlow Studio、YAML、ワークフローの構成 の各モード間を切り替えます。 |
| 2 — 基本構成 | ワークフローの説明を入力します。この説明はワークフローリストに表示されます。 |
| 3 — ロール構成 | ワークフローの実行に必要な権限を付与した実行ロールを割り当てます。 |
| 4 — 機能ボタンセクション | 保存、終了、実行 を行います。 |
ロール構成
以下の 2 つのオプションから選択できます。
既存の実行ロールを選択 — ドロップダウンリストからロールを選択します。アタッチされたポリシーに、ワークフローの各ステートが要求する権限が含まれていることを確認してください。
ロールの作成 — ロールの作成 をクリックすると、Resource Access Management (RAM) コンソールの「ロール」ページが開きます。詳細については、「実行ロールの作成」の「実行ロールの作成」セクションをご参照ください。