

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Step Functions で AWS Lambda 関数をオーケストレーションする
<a name="sample-lambda-orchestration"></a>

**Lambda 関数をオーケストレーションする**テンプレートでは、サンプルの株式取引ワークフローで複数の Lambda 関数を使用します。1 つの関数が株価を確認した後、人間に株を購入するか売却するかの選択を促します。Choice ステートは、`recommended_type` 変数に基づいて次に呼び出す関数を選択し、購入または売却を完了させます。いずれかの関数が完了すると、その取引結果がパブリッシュされ、ワークフローは終了となります。

人間による承認ステップを実装するために、ワークフロー実行は一意の TaskToken が返されるまで一時停止します。このプロジェクトでは、ワークフローはタスクトークンを含むメッセージを Amazon SQS キューに渡します。そのメッセージは、メッセージのペイロードに基づいてコールバックを処理するように設定された別の Lambda 関数をトリガーします。ワークフローは、[https://docs.aws.amazon.com/step-functions/latest/apireference/API_SendTaskSuccess.html](https://docs.aws.amazon.com/step-functions/latest/apireference/API_SendTaskSuccess.html) API コールからタスクトークンが返されるまで一時停止します。タスクの詳細については、「[タスクトークンのコールバックまで待機する](connect-to-resource.md#connect-wait-token)」を参照してください。

![\[ステートマシンの図解\]](http://docs.aws.amazon.com/ja_jp/step-functions/latest/dg/images/sample-lambda-orchestration.png)


## ステップ 1: ステートマシンを作成する
<a name="sample-lambda-orchestration-create"></a>

1. [Step Functions コンソール](https://console.aws.amazon.com/states/home?region=us-east-1#/)を開き、**[ステートマシンの作成]** を選択します。

1. **[テンプレートから作成]** を選択し、関連するスターターテンプレートを見つけます。[**次へ**] を選択して続行します。

1. テンプレートの使用方法を選択します。

   1. **デモの実行** – 読み取り専用のステートマシンを作成します。確認後、ワークフローとすべての関連リソースを作成できます。

   1. **その上に構築する** – 編集可能なワークフロー定義が提供され、内容を確認・カスタマイズし、独自のリソースでデプロイできます (関数やキューなどの関連リソースは自動的には作成**されません**)。

1. **[テンプレートの使用]** を選択して選択を続行します。
**注記**  
*アカウントにデプロイされたサービスには、Standard 料金が適用されます。*

## ステップ 2: デモステートマシンを実行する
<a name="sample-lambda-orchestration-start-execution"></a>

**[デモの実行]** オプションを選択した場合、すべての関連リソースがデプロイされ、実行準備が整います。**[その上に構築する]** オプションを選択した場合は、プレースホルダー値の設定や、カスタムワークフローの実行に必要な追加リソースの作成が必要になることがあります。

1. **[Deploy and run]** (デプロイと実行) を選択します。

1. CloudFormation スタックがデプロイされるのを待ちます。これには最大 10 分かかることがあります。

1. **[実行を開始]** オプションが表示されたら、**[入力]** を確認し、**[実行を開始]** を選択します。

**お疲れ様でした。**  
これで、ステートマシンのデモが実行されます。**グラフビュー**でステートを選択すると、入力、出力、変数、定義、イベントを確認できます。

Step Functions サービス統合の詳細については、[サービスと Step Functions の統合](integrate-services.md) を参照してください。