メニュー
AWS Step Functions
開発者ガイド

アクティビティ

アクティビティは、ECS、EC2、モバイルデバイスで基本的にどこでもホストできる、ワーカーによって実行されるタスクを示す AWS Step Functions の概念です。

アクティビティの作成

アクティビティは名前で参照されます。アクティビティの名前には、次のルールに従った任意の文字列を指定できます。

  • 0~80 文字の長さにする必要があります。

  • AWS アカウントとリージョン内で一意である必要があります。

アクティビティは、次のいずれの方法でも、Step Functions を使用して作成できます。

注記

アクティビティはバージョニングされず、常に下位互換性があることが予期されます。アクティビティ定義に下位互換性のない変更を加える必要がある場合は、一意の名前を使用して、Step Functions で新しいアクティビティを作成する必要があります。

ワーカーの記述

ワーカーは、AWS Step Functions API アクションを実行できる任意の言語で実装できます。ワーカーは、次の擬似コードアルゴリズムを実装することによって、作業を繰り返しポーリングします。

[taskToken, jsonInput] = GetActivityTask();
try {
     // Do some work...
     SendTaskSuccess(taskToken, jsonOutput);
 } catch (Exception e) {
     SendTaskFailure(taskToken, reason, errorCode);
}

ハートビート通知の送信

長時間実行中のアクティビティがあるステートは、アクティビティがまだ正常に実行されていることを確認するため、ハートビートタイムアウト値を提供する必要があります。

アクティビティにハートビートタイムアウト値がある場合、それを実装するワーカーは、ハートビートの更新を Step Functions に送信する必要があります。ワーカーからハートビート通知を送信するには、SendTaskHeartbeat アクションを使用します。