Step Functions での Workflow Studio を使用したワークフローの作成 - AWS Step Functions

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

Step Functions での Workflow Studio を使用したワークフローの作成

Step Functions Workflow Studio を使用してワークフローを作成、編集、実行する方法を学習します。ワークフローの準備ができたら、ワークフローを保存、実行、エクスポートできます。

ステートマシンを作成する

Workflow Studio では、スターターテンプレートまたは空のテンプレートを選択してワークフローを作成できます。

スターターテンプレートは、ワークフロープロトタイプと定義を自動的に作成し、プロジェクトに必要なすべての関連 AWS リソースを にデプロイする ready-to-run サンプルプロジェクトです AWS アカウント。これらのスターターテンプレートをそのままデプロイして実行することも、ワークフロープロトタイプを使用してその上に構築することもできます。スターターテンプレートの詳細については、「Step Functions のスターターテンプレートを使用してステートマシンをデプロイする」を参照してください。

空のテンプレートでは、設計モードまたはコードモードを使用してカスタムワークフローを作成します。

スターターテンプレートを使用してステートマシンを作成する

  1. Step Functions コンソールを開き、[ステートマシンの作成] を選択します。

  2. テンプレートの選択ダイアログボックスで、次のいずれかを実行してサンプルプロジェクトを選択します。

    • キーワードでTask Timer検索ボックスに と入力し、検索結果からタスクタイマーを選択します。

    • 右側のペインの [すべて] に一覧表示されているサンプルプロジェクトを参照し、[タスクタイマー] を選択します。

  3. [次へ] を選択して続行します。

  4. Step Functions は、選択したサンプルプロジェクト AWS サービス で使用される を一覧表示します。サンプルプロジェクトのワークフローグラフも表示されます。このプロジェクトを にデプロイ AWS アカウント するか、独自のプロジェクトを構築するための出発点として使用します。進める方法に応じて、[デモの実行] または [その上に構築する] を選択します。

  5. [テンプレートの使用] を選択して選択を続行します。

  6. 次のいずれかを行います。

    • Build on it を選択した場合、Step Functions はワークフロープロトタイプを作成しますが、ワークフロー定義にリソースをデプロイしないため、ワークフロープロトタイプの構築を継続できます。

      Workflow Studio の ではデザインモード、ワークフロープロトタイプに状態を追加できます。または、 に切り替えコードモードて、統合されたコードエディタを使用して、Step Functions コンソールからステートマシンの Amazon ステートメント言語 (ASL) 定義を編集することもできます。

      重要

      ワークフロー を実行する前に、サンプルプロジェクトで使用されるリソースのプレースホルダー Amazon リソースネーム (ARN) を更新する必要がある場合があります。 ワークフローを実行

    • デモの実行 を選択した場合、Step Functions は、 AWS CloudFormation テンプレートを使用してそのテンプレート内の AWS リソースを にデプロイする読み取り専用プロジェクトを作成します AWS アカウント。コードモード を選択すると、ステートマシンの定義を表示できます。

      デプロイと実行を選択してプロジェクトをデプロイし、リソースを作成します。

      デプロイには、リソースとIAMアクセス許可が作成されるまでに最大 10 分かかる場合があることに注意してください。リソースのデプロイ中に、 AWS CloudFormation スタック ID リンクを開いて、プロビジョニングされているリソースを確認できます。

      すべてのリソースが作成されると、コンソールのステートマシンページにプロジェクトが表示されます。

      重要

      CloudFormation テンプレートで使用されるサービスごとに、標準料金が適用される場合があります。

空白のテンプレートを使用してワークフローを作成します。

クリーンなキャンバスから開始する場合は、空のテンプレートからワークフローを作成します。

  1. Step Functions コンソールを開きます。

  2. Create State Machine (ステートマシンの作成) を選択します。

  3. [テンプレートを選択] ダイアログボックスで [空白] を選択します。

  4. 選択 を選択して、 で Workflow Studio を開きますデザインモード

    これで、デザインモード でワークフローの設計を開始したり、コードモード へのワークフロー定義の書き込みを開始できます。

  5. [設定] を選択して、設定モード のワークフローの設定を管理します。例えば、ワークフローの名前を入力し、そのタイプを選択します。

ワークフローの設計

追加する状態の名前がわかったら、 の上部にある検索ボックスを使用して[State browser] (状態ブラウザ)検索します。それ以外の場合は、ブラウザで必要な状態を探し、キャンバスに追加します。

ワークフロー内の状態を並べ替えるには、ワークフロー内の別の場所にドラッグします。状態をキャンバスにドラッグすると、次のスクリーンショットに示すように、状態がワークフローに挿入される場所を示す行が表示されます。

状態の宛先を示す青い線を示すスクリーンショット。

状態がキャンバスにドロップされると、そのコードが自動的に生成され、ワークフロー定義内に追加されます。定義を確認するには、インスペクターパネル[定義] トグルをオンにします。組み込みコードエディタを使用して定義コードモードを編集できます。

ステートをキャンバスにドロップすると、右側の Inspector パネル パネルでそのステートを設定できます。このパネルには、キャンバスに配置する各状態またはAPIアクションの設定入力 、出力エラー処理 タブが含まれています。ワークフローに含めるステートは、[設定] タブで設定します。

例えば、Lambda 呼び出しAPIアクションの設定タブには、次のオプションがあります。

  • 状態名 : 状態をカスタム名で識別するか、デフォルトで生成された名前を受け入れることができます。

  • API は、 状態で使用されるAPIアクションを示します。

  • 統合タイプ : 他のサービスのAPIアクションを呼び出すために使用されるサービス統合タイプを選択できます。

  • 関数名には、次のオプションがあります。

    • 関数名を入力: 関数名またはその を入力できますARN。

    • [Get function name at runtime from state input] (状態入力からランタイムに関数名を取得): このオプションを使用すると、指定したパスに基づいて、状態入力から関数名を動的に取得できます。

    • [Select function name] (関数名を選択): アカウントとリージョンで利用可能な機能から直接選択できます。

  • ペイロード : 状態入力、JSONオブジェクト、またはペイロードなしのいずれかを使用して、Lambda 関数にペイロードとして渡すことができます。を選択した場合JSON、静的な値と状態入力から選択された値の両方を含めることができます。

  • (オプション) 一部の状態には、[タスクが完了するまで待機] または [コールバックを待つ] を選択するオプションがあります。利用可能な場合は、次のいずれかのサービス統合パターンを選択できます。

    • [No option selected] (オプションの選択なし): Step Functions は レスポンスのリクエスト 統合パターンを使用します。Step Functions はHTTPレスポンスを待ってから次の状態に進みます。Step Functions はジョブが完了するまで待機することはしません。使用可能なオプションがない場合、状態はこのパターンを使用します。

    • [Wait for task to complete] (タスクの完了を待つ): Step Functions は ジョブの実行 (.sync) 統合パターンを使用します。

    • [Wait for callback] (コールバックを待つ): Step Functions は タスクトークンのコールバックまで待機する 統合パターンを使用します。

  • (オプション) ワークフロー AWS アカウント 内の異なる で設定されたリソースにアクセスするには、Step Functions はクロスアカウントアクセス を提供します。IAM クロスアカウントアクセス用の ロールには、以下のオプションがあります。

    • IAM ロールを指定するARN: 適切なリソースアクセス許可を含むIAMロールを指定します。これらのリソースは、クロスアカウント呼び出し AWS アカウント を行う であるターゲットアカウントで使用できます。

    • 状態入力 から実行ARN時にIAMロールを取得する: IAMロールを含む状態JSONの入力内の既存のキーと値のペアへの参照パスを指定します。

  • [Next state] (次の状態) 次に移行したい状態を選択できます。

  • (オプション) コメントフィールドはワークフローには影響しませんが、ワークフローに注釈を付けるために使用できます。

一部の州には、追加の汎用設定オプションがあります。例えば、Amazon ECSRunTask状態設定には、プレースホルダー値が入力された API Parametersフィールドが含まれています。これらの状態では、プレースホルダー値をニーズに適した構成と置き換えることができます。

状態を削除するには

バックスペースを押すか、右クリックして状態の削除 を選択するか、設計ツールバー削除 を選択します。

ワークフローを実行

ワークフローの準備ができたら、ワークフローを実行し、Step Functions コンソール からその実行を表示できます。

Workflow Studio でワークフローを実行するには
  1. [デザイン][コード]、または[設定] モードで、[実行]を選択ます。

    [実行を開始] ダイアログが新しいタブに開きます。

  2. [実行を開始] ダイアログボックスで、以下の操作を行います。

    1. (オプション) 実行を識別するには、名前を指定するか、デフォルトで生成された実行名 を使用します。

      注記

      Step Functions は、 ASCII以外の文字を含むステートマシン、実行、アクティビティ、およびラベルの名前を受け入れます。文字ASCII以外の名前は Amazon では機能しないため CloudWatch、 ASCII でメトリクスを追跡できるように、文字のみを使用することをお勧めします CloudWatch。

    2. (オプション) 入力ボックスに、ワークフローを実行するための入力値を JSON形式で入力します。

    3. [実行のスタート] を選択します。

    4. Step Functions コンソールから実行 ID のタイトルが付いたページが表示されます。このページは、[実行の詳細] ページと呼ばれます。このページでは、実行の進行中または完了後に実行結果を確認できます。

      実行結果を確認するには、[グラフビュー] で個々の状態を選択し、ステップの詳細 ペインの個々のタブを選択すると、入力、出力、定義などの各状態の詳細がそれぞれ表示されます。[実行の詳細] ページに表示できる実行情報の詳細については、「[実行の詳細] ページ - インターフェイスの概要」を参照してください。

ワークフローの編集

Workflow Studio の デザインモード では、既存のワークフローを視覚的に編集できます。

Step Functions コンソール で、ステートマシンページから編集するワークフローを選択します。ワークフローは Workflow Studio の[デザイン] モードで開きます。

でワークフロー定義を編集することもできますコードモードコードボタンを選択して、Workflow Studio でワークフロー定義を表示または編集します。

注記

ワークフローにエラーが見つかった場合は、[デザイン] モードで修正する必要があります。ワークフローにエラーがある場合は、[コード] モードまたは [設定] モードに切り替えることはできません。

ワークフローのエクスポート

ワークフローの Amazon ステートメント言語 (ASL) 定義とワークフローグラフをエクスポートできます。

  1. Step Functions コンソールでワークフローを選択します。

  2. [ステートマシンの詳細] ページで、[編集] を選択します。

  3. [アクション] ドロップダウンボタンを選択し、次のいずれかまたは両方を実行します。

    • ワークフローグラフを SVGまたは PNG ファイルにエクスポートするには、グラフのエクスポート で、目的の形式を選択します。

    • ワークフロー定義を JSONまたは YAML ファイルとしてエクスポートするには、エクスポート定義 で、目的の形式を選択します。

プレースホルダーを使用したワークフロープロトタイプの作成

で Workflow Studio または Workflow Studio Application Composer を使用して、まだ存在しない名前付きリソースであるプレースホルダーリソースを含む新しいワークフローのプロトタイプを作成できます。

ワークフロープロトタイプを作成するには:

  1. Step Functions コンソールにサインインします。

  2. Create State Machine (ステートマシンの作成) を選択します。

  3. [テンプレートを選択] ダイアログボックスで [空白] を選択します。

  4. 選択 を選択して、 で Workflow Studio を開きますデザインモード

  5. Workflow Studio の [デザイン] モードが開きます。Workflow Studio でワークフローを設計します。プレースホルダーリソースを含めるには、次の手順に従います。

    1. プレースホルダーリソースを含める状態を選択し、[設定] を選択します。

      • Lambda 呼び出し状態の場合、[関数名] を選択し、その後、[関数名を入力] を選択します。関数のカスタム名前を入力することもできます。

      • Amazon SQS Send Message の状態では、キュー URLを選択し、キュー を入力 URLを選択します。プレースホルダーキュー を入力しますURL。

      • Amazon SNS Publish の状態では、トピック からトピック を選択しますARN。

      • [Actions] (アクション) の下にリストされている他の状況すべてについては、デフォルト設定を使用できます。

      注記

      ワークフローにエラーが見つかった場合は、[デザイン] モードで修正する必要があります。ワークフローにエラーがある場合は、[コード] モードまたは [設定] モードに切り替えることはできません。

    2. (オプション) ワークフローの自動生成されたASL定義を表示するには、定義 を選択します。

    3. (オプション) Workflow Studio でワークフロー定義を更新するには、[コード] ボタンを選択します。

      注記

      ワークフロー定義にエラーがある場合は、[コード] モードで修正する必要があります。ワークフロー定義にエラーがある場合は、[デザイン] モードまたは [設定] モードに切り替えることはできません。

  6. (オプション) ステートマシン名を編集するには、デフォルトのステートマシン名 の横にある編集アイコンを選択しMyStateMachineステートマシン名ボックスに名前を指定します。

    設定モード に切り替えてデフォルトのステートマシン名を編集することもできます。

  7. ステートマシンのタイプや実行ロールなどのワークフロー設定を指定します。

  8. [作成] を選択します。

プロトタイプに使用できるプレースホルダーリソースを使って、新しいワークフローが作成されるようになりました。ワークフロー定義とワークフローのグラフをエクスポートできます。

  • ワークフロー定義を JSONまたは YAML ファイルとしてエクスポートするには、設計モードまたはコードモードで、アクションドロップダウンボタンを選択します。次に、[定義をエクスポート] で、エクスポートする形式を選択します。このエクスポートされた定義は、AWS Toolkit for Visual Studio Code を使用したローカル開発の開始点として使用できます。

  • ワークフローグラフを SVGまたはPNGファイルにエクスポートするには、設計モードまたはコードモードで、アクションドロップダウンボタンを選択します。次に、[定義をエクスポート] で、必要な形式を選択します。