mirror of
https://github.com/serverless/serverless.git
synced 2026-01-25 15:07:39 +00:00
3.9 KiB
3.9 KiB
Read this on the main serverless docs site
CloudWatch Event
Simple event definition
This will enable your Lambda function to be called by an EC2 event rule. Please check the page of Event Types for CloudWatch Events.
functions:
myCloudWatch:
handler: myCloudWatch.handler
events:
- cloudwatchEvent:
event:
source:
- 'aws.ec2'
detail-type:
- 'EC2 Instance State-change Notification'
detail:
state:
- pending
Enabling / Disabling
Note: cloudwatchEvent events are enabled by default.
This will create and attach a disabled cloudwatchEvent event for the myCloudWatch function.
functions:
myCloudWatch:
handler: myCloudWatch.handler
events:
- cloudwatchEvent:
event:
source:
- 'aws.ec2'
detail-type:
- 'EC2 Instance State-change Notification'
detail:
state:
- pending
enabled: false
Specify Input or Inputpath
You can specify input values to the Lambda function.
functions:
myCloudWatch:
handler: myCloudWatch.handler
events:
- cloudwatchEvent:
event:
source:
- 'aws.ec2'
detail-type:
- 'EC2 Instance State-change Notification'
detail:
state:
- pending
input:
key1: value1
key2: value2
stageParams:
stage: dev
- cloudwatchEvent:
event:
source:
- 'aws.ec2'
detail-type:
- 'EC2 Instance State-change Notification'
detail:
state:
- pending
inputPath: '$.stageVariables'
- cloudwatchEvent:
event:
source:
- 'aws.ec2'
detail-type:
- 'EC2 Instance State-change Notification'
detail:
state:
- pending
inputTransformer:
inputPathsMap:
eventTime: '$.time'
inputTemplate: '{"time": <eventTime>, "key1": "value1"}'
Specifying a Description
You can also specify a CloudWatch Event description.
functions:
myCloudWatch:
handler: myCloudWatch.handler
events:
- cloudwatchEvent:
description: 'CloudWatch Event triggered on EC2 Instance pending state'
event:
source:
- 'aws.ec2'
detail-type:
- 'EC2 Instance State-change Notification'
detail:
state:
- pending
Specifying a Name
You can also specify a CloudWatch Event name. Keep in mind that the name must begin with a letter; contain only ASCII letters, digits, and hyphens; and not end with a hyphen or contain two consecutive hyphens. More information here.
functions:
myCloudWatch:
handler: myCloudWatch.handler
events:
- cloudwatchEvent:
name: 'my-cloudwatch-event-name'
event:
source:
- 'aws.ec2'
detail-type:
- 'EC2 Instance State-change Notification'
detail:
state:
- pending