メニュー
AWS Lambda
開発者ガイド

スケジュールされたイベントでの AWS Lambda の使用

Lambda 関数を作成して、AWS Lambda を定期的なスケジュールで実行するように指示できます。固定の間隔を指定する (たとえば、1 時間ごとまたは 15 分ごとに Lambda 関数を実行する) ことも、Cron 式を指定することもできます。スケジュール式の詳細については、「Rate または Cron を使用したスケジュール式」を参照してください。

この機能は AWS Lambda コンソールまたは AWS CLI を使用して Lambda 関数を作成する場合に使用できます。AWS CLI を使用して設定するには、スケジュールに基づいて AWS CLI で AWS Lambda 関数を実行するを参照してください。コンソールはイベントソースとして [CloudWatch Events - Schedule] を提供します。Lambda 関数の作成時に、このイベントのソースを選択し、時間間隔を指定します。

関数のアクセス許可を手動で変更した場合は、スケジュールされたイベントに関数へのアクセスを再適用する必要が生じることがあります。これを行うには、次の CLI コマンドを使用します。

Copy
aws lambda add-permission \ --statement-id 'statement id' \ --action 'lambda:InvokeFunction' \ --principal events.amazonaws.com \ --source-arn arn:aws:events:region:account-id:rule/rule_name --function-name function:MyFunction --region region

注記

各 AWS アカウントは、[CloudWatch Events - Schedule] ソースタイプの最大 100 個の一意なイベントソースを指定できます。それぞれが、最大 5 つの Lambda 関数のイベントソースになります。つまり、AWS アカウントで最大 500 のスケジュールで実行する Lambda 関数を使用できます。

コンソールには、[CloudWatch Events - Schedule] ソースタイプを使用する設計図 (lambda-canary) も用意されています。この設計図を使用して、Lambda 関数の例を作成し、この機能をテストできます。設計図が提供するサンプルコードは、特定のウェブページの存在およびそのウェブページ内の特定の文字列の存在を確認します。ウェブページまたは文字列が見つからない場合、Lambda 関数はエラーをスローします。

セットアップの例を説明しているチュートリアルについては、「チュートリアル: スケジュールされたイベントでの AWS Lambda の使用」を参照してください。