CCCPaste

Trigger Lambda V2

import json
import boto3
from datetime import datetime

def lambda_handler(event, context):

    record = event['Records'][0]
    event_name = record['eventName']               # ObjectCreated:Put o ObjectRemoved:Delete
    file_name = record['s3']['object']['key']
    bucketName = record['s3']['bucket']['name']
    event_time = record["eventTime"]

    # Cliente SES
    ses = boto3.client("ses")

    # Styles para colores del icono según evento
    if event_name.startswith("ObjectCreated"):
        action = "File Uploaded"
        color = "#16a34a"     # verde
        emoji = "🟢"
    elif event_name.startswith("ObjectRemoved"):
        action = "File Deleted"
        color = "#dc2626"     # rojo
        emoji = "🔴"
    else:
        action = "S3 Event Triggered"
        color = "#2563eb"     # azul
        emoji = "🔵"

    # Asunto dinámico
    subject = f"[S3 Notification] {action} - {bucketName}"

    # Cuerpo HTML (bonito y elegante)
    body = f"""
    
        
            

{emoji} {action}

An S3 event has been detected in your bucket. Below are the details:

Bucket {bucketName}
File {file_name}
Event {event_name}
Datetime {event_time}

This message was generated automatically by your AWS Lambda function.

""" # Enviar correo con SES ses.send_email( Source="[email protected]", Destination={"ToAddresses": ["[email protected]"]}, Message={ "Subject": {"Data": subject}, "Body": {"Html": {"Data": body}} } ) print("Email sent successfully!")