すべてのプロダクト
Search
ドキュメントセンター

CloudFlow:空白のキャンバスからのワークフロー作成

最終更新日:Aug 26, 2026

CloudFlow のワークフローは一連のタスク状態で構成され、各タスク状態は特定の操作またはサービスを表す独立した単位です。 CloudFlow コンソールで空白のキャンバスからワークフローを作成し、ビジネスプロセスを記述および管理します。

前提条件

  • 呼び出す関数 — このトピックのワークフロー例では、既存の関数を呼び出す InvokeFunction タスク状態を使用します。関数の ARN を取得するには、「イベントトリガー関数の作成」をご参照ください。

  • クラウドサービス統合用のロール — ワークフローが CloudFlow を含むクラウドサービスと統合する場合、必要な アクセスポリシー が付与されたロールを設定する必要があります。このロールはワークフロー設定で指定します。

操作手順

  1. CloudFlow コンソールにログインします。 上部メニューでリージョンを選択します。

  2. [ワークフロー] ページで、[ワークフローの作成] をクリックします。

  3. [ワークフローの作成] ダイアログボックスで、[空のキャンバスを使用] を選択します。[ワークフローモード] には [高速モード] を選択します。その他のパラメーターは、デフォルト設定のままにします。

    説明

    このトピックでは、Express モードのワークフローを例として使用します。 モードを選択する前に、CloudFlow がサポートするワークフローモードの比較については、「標準モードと Express モード」をご参照ください。

  4. [ワークフロー編集] ページで、次のいずれかの方法でワークフローを定義します。

    • CloudFlow Studio — キャンバス上でワークフローを構築します。状態をキャンバスにドラッグし、プロパティパネルで各状態を設定します。

    • YAML 編集 — コードエディターで YAML コードとしてワークフロー定義を記述します。エディターの横にあるワークフロー図に定義が反映されます。

    どちらの方法でも同じワークフローを定義でき、編集中に切り替えることができます。 選択した方法のタブで手順を完了してから、本手順の残りのステップに進んでください。

    CloudFlow Studio

    CloudFlow Studio でワークフローを定義する

    1. [CloudFlow Studio] タブで、必要な状態とフローノードをキャンバスにドラッグします。 既存の図では、ビジネスプロセス図に合わせてノードを再配置することもできます。

    2. キャンバス上のステートをクリックし、右側のプロパティパネルで、その基本設定、入力設定、出力設定、エラー処理を設定します。ダイアグラム内の各ステートに対してこの手順を繰り返します。

    3. 本トピックで例として使用する InvokeFunction タスクステートでは、キャンバスで[InvokeFunction] ステートをクリックします。基本設定 タブで、関数 を myfunction に、[バージョンまたはエイリアス] を [LATEST] に、[関数呼び出しメソッド] を [同期呼び出し] に設定します。

    InvokeFunction タスク状態の主要なパラメーター

    次の表で、InvokeFunction タスク状態の主要なパラメーターを説明します。 その他のパラメーターはデフォルト値のままにします。

    設定タイプ パラメーター 説明 例
    [基本設定] [ステータス名] 状態の名前。 状態の動作を説明する名前を使用します。 InvokeFunction
    [関数] 呼び出す関数の名前。 myfunction
    バージョンまたはエイリアス 呼び出す関数のバージョンまたはエイリアス。 LATEST
    関数呼び出しメソッド 関数を同期的に呼び出すか、非同期的に呼び出すかを指定します。関数呼び出しメソッドの詳細については、「関数の呼び出しとトリガー」をご参照ください。 同期呼び出し
    リクエストペイロード 関数をトリガーするペイロード。 YAML および JSON 形式を使用できます。 {"key1": "value1", "key2.$": "$.myStateInput.key", "key3": 100}
    次の状態 遷移先の次の状態。 変更はリアルタイムで反映されます。 Hello World
    [エラー処理] エラーリトライ エラーが発生したときに適用されるリトライポリシー。 下の [リトライの追加] をクリックして、1 つ以上のリトライポリシーを追加します。
    エラータイプ 照合可能なエラータイプ。 1 つ以上のエラータイプを選択できます。 FC.BadResponse
    最大リトライ数 最大リトライ数。 5
    リトライ間隔 (秒) リトライ間の間隔 (秒単位)。 最大値は 86400 です。 3
    バックオフ倍率 次のリトライ間隔を、現在のリトライ間隔の何倍にするかを指定する乗数です。 1
    最大バックオフ (秒) 指数バックオフリトライにおける最大待機時間 (秒)。 5
    エラーキャッチ エラーまたは例外をキャッチし、指定した状態に処理を移行させます。 下の [キャッチルールの追加] をクリックして、1 つ以上のキャッチルールを追加します。
    エラータイプ 照合可能なエラータイプ。 1 つ以上のエラータイプを選択できます。 FC.EntityTooLarge
    フォールバック状態 指定されたエラーがキャッチされたときにフォールバック先の状態。 Hello World
    結果の返却 指定されたエラーがキャッチされ、結果の返却が使用される場合、エラーはフォールバックステップの入力に追加されます。 YAML および JSON 形式を使用できます。 {"key": "hello world"}

    フォームではなく YAML スクリプトを使用して関数、バージョンまたはエイリアス、呼び出しメソッドを指定するには、右上の [YAML 編集に切り替え] をクリックします。 次に YAML スクリプトの例を示します。

    invocationType: Sync
    resourceArn: acs:fc:{regionId}:{accountId}:functions/myfunction/LATEST
    body:
      key: value

    入力と出力のフィルタリング

    入力設定 タブで、入力のフィルタリング方法を設定します。オプションは次のとおりです。

    • [JSONPath を使用して特定のパラメーターを選択] — 下のコードエディターで、JSONPath を用いたフィルター式を入力し、パラメーターオブジェクトのサブセットをノード入力として選択します。

    • [元の入力をノードに渡す] — ノードの元の入力をノード入力として使用します。

    • [パラメーターフィルターを使用してパラメーターを構築] — パラメーターフィルターを使用して、新しいパラメーターをノード入力として構築します。

    出力設定 タブで、出力のフィルタリング方法を設定します。オプションは次のとおりです。

    • [JSONPath を使用して特定のパラメーターを選択] — 下のコードエディターで、JSONPath を用いたフィルター式を入力し、有効な出力のサブセットをノード出力として選択します。

    • [元の入力を出力に渡す] — ノードの元の入力を出力として下流に渡します。

    • [パラメーターフィルターを使用してパラメーターを構築] — パラメーターフィルターを使用して、新しいパラメーターをノード出力として構築します。

    パラメーターフィルターは YAML および JSON 形式をサポートします。 次にパラメーターフィルターの YAML コード例を示します。

    FieldA: 123
    FieldB: string
    FieldC.$: $Input
    説明

    エラー処理は、ワークフローを他のサービスと統合する場合にのみ必要です。 詳細については、「エラー処理」をご参照ください。

    YAML 編集

    YAML でワークフローを定義する

    1. [YAML] タブまたは上部のナビゲーションバーにある [YAML] ボタンをクリックして、YAML 編集に切り替えます。

    2. 左側のコードエディターで、ワークフローを定義する YAML コードを入力します。 右側のワークフロー図がリアルタイムで更新されます。 次にワークフロー定義のコード例を示します。

      Type: StateMachine
      Name: my-wkfl
      SpecVersion: v1
      StartAt: InvokeFunction
      States:
        - Type: Task
          Name: InvokeFunction
          Action: FC:InvokeFunction
          TaskMode: RequestComplete
          Parameters:
            invocationType: Sync
            resourceArn: >-
              acs:fc:{regionId}:{accountId}:functions/myfunction/LATEST
          Retry:
            - Errors: []
              Description: 'リトライポリシー #1'
              MaxAttempts: 1
              IntervalSeconds: 1
          Next: Hello World
          Catch:
            - Errors:
                - FC.AccessDenied
              Description: 'エラーキャッチルール #1'
              Next: Hello World
        - Type: Pass
          Name: Hello World
          End: true
    3. ワークフローを保存する前に、resourceArn の値を検証してください。 サンプル値の acs:fc:{regionId}:{accountId}:functions/myfunction/LATEST を、「前提条件」で説明されている手順に従って取得した、実際の関数の ARN に置き換えてください。 サンプル値では、次のプレースホルダーが使用されています。

      • regionId:関数が配置されている Alibaba Cloud リージョン (cn-beijing や cn-hangzhou など)。

      • accountId:お客様の Alibaba Cloud アカウント ID。

      • myfunction:関数の実際の名前。

      • LATEST:関数の最新バージョンが使用されることを示します。 必要に応じて、別のバージョンまたはエイリアスを指定できます。

  5. (オプション) 上部の [ワークフロー設定] をクリックし、ワークフローの説明とワークフローの実行に使用するロールを指定します。 ロールには、「前提条件」で説明されているように、必要なアクセスポリシーが付与されている必要があります。

  6. [保存] および [終了] をクリックします。

ワークフローの編集

既存のワークフローを編集して、その定義、説明、またはワークフローの実行に使用するロールを変更します。

  1. CloudFlow コンソールにログインします。 上部メニューでリージョンを選択します。

  2. [ワークフロー] ページで、編集するワークフローをクリックします。

  3. ワークフロー詳細ページの右上隅にある[ワークフローの編集]をクリックし、[CloudFlow Studio 編集] または [YAML 編集] を選択します。

  4. ワークフローを変更します。

    • CloudFlow Studio では、タスクステートを追加または削除したり、タスクステートの 基本設定、入力設定、出力設定、または エラー処理 を変更したりします。パラメーターの説明については、手順の主要なパラメーター表をご参照ください。

    • YAML 編集では、ワークフロー定義を変更します。 右側のチャートエリアのワークフロー図に変更が反映されます。

  5. (オプション) ワークフローの説明またはワークフローの実行に使用するロールを変更するには、上部の [ワークフロー設定] をクリックします。

  6. [保存] と [終了] をクリックします。

次のステップ

ワークフローを保存した後、定義が期待どおりに機能することを確認するために、実行してください。手順については、「ワークフローの実行」をご参照ください。

スケジュールに従ってワークフローを実行するには、「ワークフローのスケジューリング」をご参照ください。ワークフローを他のクラウドサービスに接続するには、「ワークフローの統合」をご参照ください。