

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

# Amazon SWF のタスク
<a name="swf-dev-tasks"></a>

Amazon SWF はタスクと呼ばれる作業割り当てを提供することによってアクティビティワーカーとディサイダーを連携させます。Amazon SWF には 3 種類の タスクがあります。
+ **アクティビティタスク** – *アクティビティ* タスクはアクティビティワーカーに、インベントリの確認やクレジットカードへの請求などの機能を実行するよう指示します。アクティビティタスクには、アクティビティワーカーがその機能を実行するために必要なすべての情報が含まれています。
+ **Lambda タスク** – *Lambda* タスクはアクティビティタスクに似ていますが、従来の Amazon SWF アクティビティの代わりに Lambda 関数を実行します。Lambda タスクを定義する方法の詳細については、「[AWS Lambda Amazon SWF のタスク](lambda-task.md)」を参照してください。
+ **決定タスク** - *決定* タスクは、ディサイダーが実行する必要のある次のアクティビティを決定できるように、ワークフロー実行の状態が変更されたことをディサイダーに通知します。決定タスクには、現在のワークフロー履歴が含まれます。

Amazon SWF は、ワークフローの開始時や、アクティビティタスクの完了時など、ワークフローの状態が変化するたびに、決定タスクをスケジュールします。各決定タスクには、ワークフロー実行履歴全体のページ分割された表示が含まれています。ディサイダーはワークフローの実行履歴を分析し、ワークフローの実行で次に何が発生するかを指定する一連の決定を使用して Amazon SWF に応答します。基本的に、すべての決定タスクでディサイダーにはワークフローを評価し、Amazon SWF に指示を返す機会があります。

競合する決定が処理されないように、Amazon SWF は各決定タスクを正確に 1 つのディサイダーに割り当て、ワークフロー実行中に一度に 1 つの決定タスクのみをアクティブにします。

次の表に、ワークフローと決定に関連するさまざまな構成要素の関係を示します。


| 論理設計 | 登録内容 | 実行者 | 受信と実行 | 生成 | 
| --- | --- | --- | --- | --- | 
|  ワークフロー  |  ワークフロータイプ  |  ディサイダー  |  決定タスク  |  決定  | 

アクティビティワーカーがアクティビティタスクを完了すると、そのタスクが完了したことが Amazon SWF に報告されます。それには生成された関連する結果がすべて含まれます。Amazon SWF は、ワークフローの実行履歴を、タスクが完了したことを示すイベントで更新し、更新された履歴を決定者に送信する決定タスクをスケジュールします。

Amazon SWF は、各アクティビティタスクを正確に 1 人のアクティビティワーカーに割り当てます。タスクが割り当てられたら、他のアクティビティワーカーはそのタスクを要求または実行できません。

次の表に、アクティビティに関連するさまざまな構成要素の関係を示します。


|  論理設計  |  登録内容  |  実行者  |  受信と実行  |  生成  | 
| --- | --- | --- | --- | --- | 
|  アクティビティ  |  アクティビティタイプ  |  アクティビティワーカー  |  アクティビティタスク  |  結果データ  | 