1
0
mirror of https://github.com/bregman-arie/devops-exercises.git synced 2025-07-15 23:54:32 +02:00

chore: added aws s3 event triggering script (#10255)

This commit is contained in:
Adarsh
2024-06-12 14:47:49 +05:30
committed by GitHub
parent df28b9bdb9
commit e58a9ccd73
5 changed files with 162 additions and 0 deletions

View File

@ -0,0 +1,38 @@
import boto3
import json
def lambda_handler(event, context):
# i want to know that event thing
print(event)
# extract relevant information from the s3 event trigger
bucket_name=event['Records'][0]['s3']['bucket']['name']
object_key=event['Records'][0]['s3']['object']['key']
# perform desired operations with the upload file
print(f"File '{object_key}' was uploaded to bucket '{bucket_name}'")
# example: send a notification via sns
sns_client=boto3.client('sns')
topic_arn='arn:aws:sns:us-east-1:<account-id>:s3-lambda-sns'
sns_client.publish(
TopicArn=topic_arn,
Subject='s3 object created !!',
Message=f"File '{object_key}' was uploaded to bucket '{bucket_name}"
)
# Example: Trigger another Lambda function
# lambda_client = boto3.client('lambda')
# target_function_name = 'my-another-lambda-function'
# lambda_client.invoke(
# FunctionName=target_function_name,
# InvocationType='Event',
# Payload=json.dumps({'bucket_name': bucket_name, 'object_key': object_key})
# )
# in case of queuing and other objective similar to the netflix flow of triggering
return {
'statusCode': 200,
'body': json.dumps("Lambda function executed successfully !!")
}