AWS Lambda
開発者ガイド

AWS Lambda を Amazon CloudWatch Events に使用する

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

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

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

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

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

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