

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

# Step Functions Workflow Studio でのワークフローの開発
<a name="workflow-studio"></a>

 AWS Step Functions コンソールでワークフローを編集するときは、Workflow Studio と呼ばれるビジュアルツールを使用します。Workflow Studio では、ステートをキャンバスにドラッグアンドドロップしてワークフローを構築できます。また、ステートの追加、編集、設定、入力/出力フィルターの設定、結果の変換、エラー処理の設定が可能です。

ワークフローの状態を変更すると、Workflow Studio はステートマシン定義を検証して自動生成します。組み込みのコードエディタを使用して、生成されたコードの確認、設定の編集、テキスト定義の変更を行うことができます。完了したら、ワークフローを保存して実行し、結果を調べることができます。

Workflow Studio には Step Functions コンソールからアクセスして、ワークフローを作成または編集します。

また、ビジュアルデザイナーである AWS Infrastructure Composer **内**で Workflow Studio を使用して、 AWS Serverless Application Model と AWS CloudFormation で Infrastructure as Code を作成することもできます。このアプローチの利点については、「[Infrastructure Composer の Workflow Studio を使用する](use-wfs-in-app-composer.md)」を参照してください。

Workflow Studio には、**[デザイン]**、**[コード]**、および **[設定]** の 3 つのモードがあります。*[デザイン] モード*では、状態をキャンバスにドラッグアンドドロップできます。*[コード] モード*には、コンソール内でワークフロー定義を編集するための組み込みコードエディタが用意されています。*[設定] モード*では、ワークフロー設定を管理できます。

**Visual Studio Code での Workflow Studio の使用**  
 AWS ツールキットを使用すると、VS Code 内から Workflow Studio を使用して、ステートマシン内の個々の状態を視覚化、構築、テストすることもできます。ステートへの入力と変数を設定し、テストを開始すると、データがどのように変換されるかを確認できます。ワークフローを調整して再テストできます。完了したら、変更を適用してステートマシンを更新できます。詳細については、 AWS Toolkit for Visual Studio Codeの「[Workflow Studio の使用](https://docs.aws.amazon.com/toolkit-for-vscode/latest/userguide/stepfunctions-workflowstudio.html)」を参照してください。

## デザインモード
<a name="wfs-interface-design-mode"></a>

[デザイン] モードには、プロトタイプを作成する際にワークフローを可視化するグラフィカルインターフェイスがあります。次の図は、Workflow Studio の **[デザイン]** モードの状態ブラウザ、ワークフローキャンバス、インスペクター、コンテキストヘルプパネルを示しています。

![\[状態ブラウザ、ワークフローキャンバス、インスペクター、ヘルプパネルを示す [デザイン] モードのスクリーンショット。\]](http://docs.aws.amazon.com/ja_jp/step-functions/latest/dg/images/wfs_main_01.png)


1. モードボタンは 3 つのモード間で切り替わります。ASL ワークフロー定義が無効な場合、モードを切り替えることはできません。

1. [[State browser] (状態ブラウザ)](#workflow-studio-components-states) には次の 3 つのタブがあります。
   + Actions ****タブには、キャンバスのワークフローグラフにドラッグアンドドロップできる AWS APIs のリストが表示されます。各アクションは [Task ワークフロー状態](state-task.md) 状態を示します。
   + **[フロー]** タブは、キャンバス内のワークフローのグラフにドラッグアンドドロップできるフロー状態のリストを表示します。
   + **[パターン]** タブには、さまざまなユースケースに使用できる、すぐに使える再利用可能なビルディングブロックがいくつか用意されています。例えば、これらのパターンを使用して Amazon S3 バケットのデータを繰り返し処理できます。

1. [キャンバスとワークフローのグラフ](#workflow-studio-components-grapheditor) は、状態をワークフローのグラフにドラッグアンドドロップし、状態の順序を変更します。状態を選択して、状態を設定または表示に選択します。

1. [インスペクターパネル](#workflow-studio-components-formdefinition) パネルでは、キャンバス上で選択した任意の状態のプロパティを表示および編集できます。**[定義]** トグルをオンにすると、現在選択されているステートが強調表示された状態で、ワークフローの Amazon States Language コードが表示されます。

1. **[Info]** (情報) リンクは、ヘルプが必要になるとコンテキスト情報を含むパネルを開きます。これらのパネルには、Step Functions ドキュメントの関連トピックへのリンクも含まれます。

1. デザインツールバー - 元に戻す、削除、ズームインなどの一般的なアクションを実行するボタンのセットが含まれています。

1. ユーティリティボタン - ワークフローの保存や、ASL 定義を JSON ファイルや YAML ファイルにエクスポートするなどのタスクを実行するためのボタンのセットです。

### [State browser] (状態ブラウザ)
<a name="workflow-studio-components-states"></a>

[状態ブラウザ] では、ワークフローのキャンバスにドラッグアンドドロップする状態を選択できます。Actions ****タブには、サードパーティーの HTTP エンドポイントと AWS APIs。**[フロー]** タブには、ワークフローを指示および制御できる状態のリストが表示されます。フローの状態には、Choice、Parallel、Map、Pass、Wait、Success、Fail が含まれます。**[パターン]** タブには、すぐに使用できる再利用可能な事前定義の構成要素が用意されています。パネルの上部にある検索ボックスを使用して、すべての状態タイプを検索できます。

![\[アクション、フロー、パターン、検索を示すスクリーンショットの図解コレクション。\]](http://docs.aws.amazon.com/ja_jp/step-functions/latest/dg/images/wfe-states-browser-01.png)


### キャンバスとワークフローのグラフ
<a name="workflow-studio-components-grapheditor"></a>

ワークフローに追加する状態を選択した後、キャンバスにドラッグし、ワークフローのグラフにドロップできます。状態をドラッグアンドドロップして、ワークフロー内で移動することもできます。ワークフローが大きい場合は、ズームインまたはズームアウトして、ワークフローグラフのさまざまな部分をキャンバスで表示できます。

### インスペクターパネル
<a name="workflow-studio-components-formdefinition"></a>

右側の **[インスペクター]** パネルからワークフローに追加する状態を設定できます。設定する状態を選択すると、**[Inspector]** パネルにその設定オプションが表示されます。ワークフローコード用に自動生成された [ASL 定義](concepts-amazon-states-language.md)を確認するには、**[定義]** トグルをオンにします。選択した状態に関連付けられている ASL 定義がハイライトされます。

![\[設定パネルを示す Workflow Studio インスペクターのスクリーンショット\]](http://docs.aws.amazon.com/ja_jp/step-functions/latest/dg/images/wfe-forms-definitions-01.png)


![\[コード定義を示す Workflow Studio インスペクターパネルのスクリーンショット\]](http://docs.aws.amazon.com/ja_jp/step-functions/latest/dg/images/wfe-forms-definitions-02.png)


## コードモード
<a name="wfs-interface-code-mode"></a>

Workflow Studio の**[コード]** モードには、Step Functions コンソール内でワークフローの [Amazon States Language を使用して Step Functions ワークフローを定義する](concepts-amazon-states-language.md) (ASL) 定義を表示、記述、編集するための統合コードエディタを使用できます。次のスクリーンショットは、**[コード]** モードのコンポーネントを示しています。

![\[コードモードでワークフロー定義を編集したスクリーンショットの例。\]](http://docs.aws.amazon.com/ja_jp/step-functions/latest/dg/images/wfs-code-mode.png)


1. モードボタンは 3 つのモード間で切り替わります。ASL ワークフロー定義が無効な場合、モードを切り替えることはできません。

1. ここで [コードエディタ](#wfs-interface-code-editor) は、Workflow Studio 内でワークフローの [ASL 定義](concepts-amazon-states-language.md)を記述して編集します。コードエディタには、構文の強調表示やオートコンプリートなどの機能もあります。

1. [グラフの視覚化](#wfs-interface-code-graph-viz) - ワークフローをリアルタイムでグラフィカルに可視化します。

1. ユーティリティボタン - ワークフローの保存や、ASL 定義を JSON ファイルや YAML ファイルにエクスポートするなどのタスクを実行するためのボタンのセットです。

1. コードツールバー - アクションの取り消しやコードのフォーマットなど、一般的なアクションを実行するためのボタンのセットが含まれています。

1. グラフツールバー - ワークフローグラフのズームインやズームアウトなど、一般的なアクションを実行するためのボタンセットが含まれています。

### コードエディタ
<a name="wfs-interface-code-editor"></a>

コードエディタは IDE と同様の操作性で、Workflow Studio 内で JSON を使用してワークフロー定義を記述および編集できます。コードエディタには、構文の強調表示、オートコンプリートの提案、[ASL 定義](concepts-amazon-states-language.md)の検証、状況依存ヘルプ表示など、いくつかの機能が含まれています。ワークフロー定義を更新すると、[グラフの視覚化](#wfs-interface-code-graph-viz) はワークフローのリアルタイムグラフをレンダリングします。更新されたワークフローグラフは、[デザインモード](#wfs-interface-design-mode) でも確認できます。

[デザインモード](#wfs-interface-design-mode) またはグラフ表示ペインでステートを選択すると、そのステートの ASL 定義がコードエディタで強調表示されます。**[デザイン]** モードまたはグラフ可視化ペインでステートの並べ替え、削除、または追加を行うと、ワークフローの ASL 定義が自動的に更新されます。

コードエディタは、フィールドと状態を自動入力するように提案できます。
+ 特定のステートに含めることができるフィールドのリストを表示するには、**Ctrl\$1Space** を押します。
+ ワークフロー内の新しいステートのコードスニペットを生成するには、現在のステートの定義の後に **Ctrl\$1Space** を押します。
+ 使用可能なすべてのコマンドと**キーボードショートカット**のリストを表示するには、**F1** を押します。

### グラフの視覚化
<a name="wfs-interface-code-graph-viz"></a>

グラフの視覚化パネルには、ワークフローがグラフィカル形式で表示されます。Workflow Studio の [コードエディタ](#wfs-interface-code-editor) でワークフロー定義を記述すると、グラフ表示ペインにワークフローのリアルタイムグラフが表示されます。

可視化ペインでステートの順序を変更、削除、または複製すると、コードエディタのワークフロー定義が自動的に更新されます。同様に、コードエディタでワークフロー定義の更新、順序の変更、削除、ステートの追加を行うと、可視化も自動的に更新されます。

ワークフローの ASL 定義内の JSON が無効な場合、グラフ可視化パネルはレンダリングを一時停止し、ペインの下部にステータスメッセージを表示します。

## 設定モード
<a name="wfs-interface-config-mode"></a>

Workflow Studio の **[設定]** モードでは、ステートマシンの一般的な設定を管理できます。このモードでは、次のような設定を指定できます。
+ **詳細**: ワークフローの**名前**と**タイプ**を設定します。ステートマシンの作成後に両方を変更することは**できません**。
+ **アクセス許可**: 新しいロール (推奨) の作成、既存のロールの選択、または特定のロールの ARN の入力を行うことができます。新しいロールを作成するオプションを選択すると、Step Functions は最小特権を使用してステートマシンの実行ロールを作成します。生成された IAM ロールは、ステートマシンを作成する AWS リージョン に対して有効です。作成前に、Step Functions がステートマシンに対して自動的に生成するアクセス許可を確認できます。
+ **ログ記録**: ステートマシンのログレベルを有効にして設定できます。Step Functions は、選択内容に基づいて実行履歴イベントを記録します。オプションとして、ログの暗号化にカスタマーマネージドキーを使用できます。ログレベルの詳細については、「[Step Functions 実行イベントのログレベル](cw-logs.md#cloudwatch-log-level)」を参照してください。

**[追加設定]** で、以下の**オプション**の設定を 1 つ以上設定できます。
+ **X-Ray トレースの有効化**: トレース ID がアップストリームサービスによって渡されない場合でも、ステートマシンを実行するためにトレースを X-Ray に送信できます。詳細については、「[で Step Functions リクエストデータをトレースする AWS X-Ray](concepts-xray-tracing.md)」を参照してください。
+ **作成時にバージョンを発行**: *バージョン*とは、実行可能なステートマシンの番号が付けられた変更不可能なスナップショットです。このオプションを選択すると、ステートマシンの作成時にステートマシンのバージョンを発行できます。Step Functions は、ステートマシンの最初のリビジョンとしてバージョン 1 を発行しています。バージョンの詳細については、「[Step Functions ワークフローのステートマシンバージョン](concepts-state-machine-version.md)」を参照してください。
+ **カスタマーマネージドキーで暗号化**: データを暗号化するために直接管理するキーを指定できます。詳細については、「[保管中のデータ暗号化](encryption-at-rest.md)」を参照してください。
+ **タグ**: このボックスにチェックを入れてタグを追加すると、リソースに関連するコストを追跡して管理し、IAM ポリシーのセキュリティを向上させることができます。タグの詳細については、[Step Functions でのステートマシンとアクティビティのタグ付け](sfn-best-practices.md#concepts-tagging)を参照してください。