子ワークフロー - Amazon Simple Workflow Service

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

子ワークフロー

複雑なワークフローは、子ワークフローを使用して、より小さく管理しやすい、再利用できる可能性のあるコンポーネントに分割できます。子ワークフローは、別の (親) ワークフロー実行により開始されるワークフロー実行です。子ワークフローを開始するには、親ワークフローのディサイダーが StartChildWorkflowExecution の決定を使用します。この決定で指定された入力データは、履歴を通じて子ワークフローが使用できます。

StartChildWorkflowExecution 決定の属性では、子ポリシー も指定します。つまり、子ワークフロー実行より前に親ワークフロー実行が終了する状況を Amazon SWF がどのように処理するかを指定します。次の 3 つの可能な値があります。

  • TERMINATE: Amazon SWF は子実行を終了します。

  • REQUEST_CANCEL: Amazon SWF は子ワークフロー実行履歴に WorkflowExecutionCancelRequested イベントを配置して、子実行のキャンセルを試みます。

  • ABANDON: Amazon SWF はアクションを実行しません。子実行は実行を続行します。

子ワークフロー実行が開始されると、通常の実行のように動作します。この処理が完了すると、Amazon SWF は親ワークフロー実行のワークフロー履歴で、結果と併せて完了を記録します。子ワークフローの例には次のようなものがあります。

  • 別のウェブサイトでワークフローによって使用されるクレジットカード処理の子ワークフロー

  • 顧客の E メールアドレス、オプトアウトリスト、E メールの送信、E メールがバウンスまたは失敗しなかったことの確認を行う、E メールの子ワークフロー。

  • 接続、セットアップ、トランザクション、および検証を組み合わせるデータベースストレージおよび取得の子ワークフロー。

  • 構築、パッケージ化、および検証を組み合わせるソースコードのコンパイルの子ワークフロー。

e コマースの例では、クレジットカードへの課金アクティビティを子ワークフローにする場合があります。これを行うには、新しい [顧客の確認] ワークフローを登録し、[顧客住所の確認] および [不正 DB の確認] アクティビティを登録して、タスクの調整ロジックを定義できます。次に、[顧客の注文] ワークフローのディサイダーは、このワークフロータイプを指定する StartChildWorkflowExecution 決定をスケジュールして、[顧客の確認] 子ワークフローを開始できます。

次の図は、新しい [顧客の確認] 子ワークフローを含む顧客の注文ワークフローを示しています。このワークフローでは顧客の住所および不正データベースについて確認し、クレジットカードに課金します。


               子ワークフローの図

複数のワークフローが、同じワークフロータイプを使用して子ワークフロー実行を作成できます。たとえば、[顧客の確認] 子ワークフローは、組織の他の部分でも使用できます。子ワークフローのイベントは独自のワークフロー履歴に含まれ、親のワークフロー履歴には含まれません。

子ワークフローはディサイダーによって開始されるワークフロー実行であるため、通常のスタンドアロンワークフロー実行として開始することもできます。