Cloudwatch event rule for Lambda function

0

Hi everyone,

I want to send trigger to cloudwatch event on successful completion of Lambda function( automated password rotation lambda) to send out the SNS. Please help to select the particular event pattern so that it can be used to trigger SNS.

3 Answers
1

I don't think there are any events detected by EventBridge when a Lambda function completes by default.
So I think we can edit the code to use "put_events" to issue a custom event when the Lambda function terminates.
https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/events/client/put_events.html

For example, the following code would do it.

import boto3
import json

client = boto3.client('events')

detail = {
    'status': 'Success'
}

response = events.put_events(
    Entries=[
        {
            'Source': 'lambda.amazonaws.com',
            'DetailType': 'FunctionEnd',
            'Detail': json.dumps(detail),
            'EventBusName': 'default' 
        }
    ]
)

In addition, I think we can detect this event by setting the following event pattern to catch this event in EventBridge.

{
  "source": ["lambda.amazonaws.com"],
  "detail-type": ["FunctionEnd"],
  "detail": {
    "status": ["Success"]
  }
}
profile picture
EXPERT
answered a year ago
0

There are couple of ways you can do this.

  1. You can publish the cloudwatch events (event bridge) from your lambda using this example - https://serverlessland.com/patterns/lambda-eventbridge
  2. You can use step function to orchestrate your workflow. First step invoke your lambda for password rotation , if it is success then publish cloudwatch events (event bridge).
  3. You can directly publish your events to SNS as well using this example - https://serverlessland.com/patterns/lambda-sns
AWS
answered a year ago
0

If your function is invoked asynchronously, you can use Lambda Destinations to send the completion event to SNS, EventBridge, SQS or another Lambda function. If your function is invoked synchronously, you will need to do it yourself in the function itself.

profile pictureAWS
EXPERT
Uri
answered a year ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions