Scheduled Lambda Job

beginner

EventBridge scheduled rule triggering a Lambda function on a cron or rate schedule. Includes DynamoDB state table, CloudWatch error/duration alarms, and SNS alarm notifications.

Quick Start

Via CLI (recommended)

npx cdk-starter create

Then select "Scheduled Lambda Job" from the prompt

Or scaffold directly

npx cdk-starter create --starter scheduled-lambda

README

Scheduled Lambda Job

EventBridge scheduled rule triggers a Lambda function on a cron schedule. Includes a DynamoDB state table for tracking runs, and CloudWatch alarms for errors and duration.

Customise the schedule

Edit the rule in lib/scheduled-lambda-stack.ts:

schedule: events.Schedule.cron({ minute: '0', hour: '6' })       // daily 06:00 UTC
schedule: events.Schedule.rate(cdk.Duration.minutes(15))          // every 15 min
schedule: events.Schedule.cron({ minute: '0', hour: '*/4' })     // every 4 hours

Job logic

Edit src/job.ts.

Prerequisites

  • Node.js ≥ 20
  • AWS CLI configured (aws configure)
  • CDK bootstrapped (npx cdk bootstrap)

Deploy

npm install
npx cdk diff
npx cdk deploy

Tear down

npx cdk destroy