このページの内容

Flow State

ワークフロー定義を変えずに、明示的に書き込んだ業務データを実行間で保持します。

Flow State は Code が明示的に書き込む業務値を保存します。値はフローと実行元の draft または live に属します。ドラフトテストと本番実行の状態は分離されます。

値の読み書き

export default async function (inputs, context) {
  const previous = await context.state.get("lastProcessedId");
  await context.state.set("lastProcessedId", inputs.id);
  return { previous };
}

get は独立した JSON 値または null を返します。set(key, null) は値を削除します。insert はキーが存在しない場合のみ書き込み、delete はキーを削除し、list は並べ替えたキーを返します。

キーは UTF-8 で 1–256 バイト、値は JSON です。容量制限はデプロイ先が定めます。無制限と仮定せず、サービスが報告する上限を確認してください。

書き込みのタイミング

書き込みは外部への影響として即座に永続化されます。後続タスクの失敗や実行の取消しでは戻りません。リビジョンの公開、ロールバック、編集でもコピーや初期化はされません。

State はノード結果、変数、実行ログとは別のものです。明示的な業務状態に使い、秘密の保管や、過去の任意の呼び出しへの暗黙の経路には使わないでください。

確認と削除

デプロイ先の Flow State 管理インターフェースで、draft か live を明示的に選択します。Live の状態を消すと、後続の本番実行にすぐ影響します。対象範囲と業務への影響を確認してください。

ランタイム機能は Code、正確な制限と管理方法は技術仕様を参照してください。

参照元

検索