Skip to Content
ドキュメントワークフローワークフローを使った入力データマッピング | Mastra ドキュメント

入力データマッピング

入力データマッピングは、次のステップの入力に対する値の明示的なマッピングを可能にします。これらの値は、以下のような複数のソースから取得できます:

  • 前のステップの出力
  • ランタイムコンテキスト
  • 定数値
  • ワークフローの初期入力

.map()を使用したマッピング

この例では、step1からのoutputstep2に必要なinputSchemaに合うように変換されます。step1からの値は、.map関数のinputDataパラメータを使用してアクセスできます。

Mapping with .map()

src/mastra/workflows/test-workflow.ts
const step1 = createStep({...}); const step2 = createStep({...}); export const testWorkflow = createWorkflow({...}) .then(step1) .map(async ({ inputData }) => { const { value } = inputData; return { output: `new ${value}` }; }) .then(step2) .commit();

inputDataの使用

inputDataを使用して前のステップの完全な出力にアクセスします:

src/mastra/workflows/test-workflow.ts
.then(step1) .map(({ inputData }) => { console.log(inputData); })

getStepResult()の使用

getStepResultを使用して、ステップのインスタンスを参照することで特定のステップの完全な出力にアクセスします:

src/mastra/workflows/test-workflow.ts
.then(step1) .map(async ({ getStepResult }) => { console.log(getStepResult(step1)); })

getInitData()の使用

getInitDataを使用して、ワークフローに提供された初期入力データにアクセスします:

src/mastra/workflows/test-workflow.ts
.then(step1) .map(async ({ getInitData }) => { console.log(getInitData()); })

mapVariable()の使用

mapVariableを使用するには、workflowsモジュールから必要な関数をインポートします:

src/mastra/workflows/test-workflow.ts
import { mapVariable } from "@mastra/core/workflows";

mapVariable()を使用したステップの名前変更

.map()でオブジェクト構文を使用してステップの出力の名前を変更できます。以下の例では、step1からのvalue出力がdetailsに名前変更されています:

src/mastra/workflows/test-workflow.ts
.then(step1) .map({ details: mapVariable({ step: step, path: "value" }) })

mapVariable()を使用したワークフローの名前変更

参照合成を使用してワークフローの出力の名前を変更できます。これは、ワークフローインスタンスをinitDataとして渡すことを含みます。

src/mastra/workflows/test-workflow.ts
export const testWorkflow = createWorkflow({...}); testWorkflow .then(step1) .map({ details: mapVariable({ initData: testWorkflow, path: "value" }) })