新しいソリューション:Lambdaのスケジュールされたジョブ
Werner Vogelが今夜(10/08)re:InventでAWS Lambdaに独自のスケジューラーがあることを発表しました。
Seの2015年10月8日にAWSラムダリリースノート:
AWS Lambdaコンソールを使用して、定期的にスケジュールされたコードを呼び出すようにAWS Lambdaを設定することもできます。固定レート(時間数、日数、週数)を指定することも、cron式を指定することもできます。例については、「チュートリアル5:Lambda関数を使用してスケジュールされたイベントを処理する(Python)」を参照してください。
古いソリューション:AWS Data Pipelineを使用したスケジュール
AWS Data Pipelineを使用して、特定の期間でタスクをスケジュールできます。ShellCommandActivityを使用してパイプラインを構成する場合、アクションは任意のコマンドにすることができます。
たとえば、AWS CLIコマンドを実行して次のことができます。
- SQSにメッセージを書き込む
- またはLambda関数を直接呼び出す(invokeを参照)
AWSコンソール内で直接AWS Data Pipelineスケジュールタスクを簡単に作成できます(例:AWS CLIコマンドを使用)。
APIを使用して、スケジュールを定義することもできます。
{
"pipelineId": "df-0937003356ZJEXAMPLE",
"pipelineObjects": [
{
"id": "Schedule",
"name": "Schedule",
"fields": [
{ "key": "startDateTime", "stringValue": "2012-12-12T00:00:00" },
{ "key": "type", "stringValue": "Schedule" },
{ "key": "period", "stringValue": "1 hour" },
{ "key": "endDateTime", "stringValue": "2012-12-21T18:00:00" }
]
}, {
"id": "DoSomething",
"name": "DoSomething",
"fields": [
{ "key": "type", "stringValue": "ShellCommandActivity" },
{ "key": "command", "stringValue": "echo hello" },
{ "key": "schedule", "refValue": "Schedule" }
]
}
]
}
制限:最小のスケジュール間隔は15分です。
価格:月額約1.00ドル。