Skip to main content

AWS Lambda EventBridge Manager

Una herramienta simple para administrar AWS Lambda y EventBridge desde Python.

🚀 Instalación

pip install aws-lambda-manager

⚡ Uso Básico

from lambda_manager import AWSLambdaEventBridgeManager, AWSAuthenticationError, AWSLambdaEventBridgeError

try:
    # Inicializar
    manager = AWSLambdaEventBridgeManager(region="us-east-1")
    
    # Habilitar regla de EventBridge
    result = manager.enable_rule("mi-regla-eventbridge")
    print(f"✅ Regla habilitada: {result['message']}")
    
    # Deshabilitar regla
    result = manager.disable_rule("mi-regla-eventbridge")
    print(f"✅ Regla deshabilitada: {result['message']}")
    
    # Invocar función Lambda con payload
    payload = {"mensaje": "Hola", "datos": [1, 2, 3]}
    result = manager.invoke_lambda("mi-funcion-lambda", payload)
    print(f"🚀 Invocación exitosa: {result['status_code']}")
    
    # Invocar función Lambda sin payload
    result = manager.invoke_lambda("mi-funcion-lambda")
    print(f"🚀 Invocación sin payload: {result['status_code']}")
    
    # Listar recursos
    rules = manager.list_eventbridge_rules()
    functions = manager.list_lambda_functions()
    print(f"📋 Reglas: {len(rules)}, Funciones: {len(functions)}")
    
except AWSAuthenticationError as e:
    print(f"🔐 Error de autenticación: {e}")
except AWSLambdaEventBridgeError as e:
    print(f"❌ Error de operación: {e}")

🔧 Funcionalidades

Método Descripción
enable_rule(rule_name) Habilita una regla de EventBridge
disable_rule(rule_name) Deshabilita una regla de EventBridge
invoke_lambda(function_name, payload) Invoca una función Lambda
list_eventbridge_rules() Lista todas las reglas de EventBridge
list_lambda_functions() Lista todas las funciones Lambda

🔐 Configuración de Credenciales

⚠️ IMPORTANTE: Este paquete requiere que tengas configuradas las credenciales AWS en tu máquina.

Configurar Variables de Entorno

# Editar archivo de configuración
nano ~/.bashrc

# Agregar las siguientes líneas al final del archivo:
export AWS_ACCESS_KEY_ID=tu_access_key
export AWS_SECRET_ACCESS_KEY=tu_secret_key
export AWS_DEFAULT_REGION=us-east-1

# Aplicar los cambios
source ~/.bashrc

Nota: Reemplaza tu_access_key y tu_secret_key con tus credenciales reales de AWS.

🛡️ Permisos AWS Necesarios

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "lambda:InvokeFunction",
                "lambda:ListFunctions"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "events:EnableRule",
                "events:DisableRule",
                "events:DescribeRule",
                "events:ListRules",
                "events:ListTargetsByRule"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "sts:GetCallerIdentity"
            ],
            "Resource": "*"
        }
    ]
}

🧪 Testing

# Ejecutar test completo
python test_complete.py

Requisito: Asegúrate de tener configuradas las credenciales AWS (ver sección de configuración).

El test ejecuta la secuencia completa: habilitar regla → listar recursos → invocar Lambda → deshabilitar regla.

📋 API Reference

Constructor

AWSLambdaEventBridgeManager(
    region: str = "us-east-1",
    aws_access_key_id: Optional[str] = None,
    aws_secret_access_key: Optional[str] = None,
    aws_session_token: Optional[str] = None
)

Excepciones

  • AWSLambdaEventBridgeError: Error base para operaciones
  • AWSAuthenticationError: Error de autenticación AWS

📄 Licencia

MIT License - Ver archivo LICENSE para más detalles.


Desarrollado para simplificar la administración de AWS Lambda y EventBridge 🚀

Metadata

Release files for aws-lambda-manager 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for aws-lambda-manager 1.0.0
File Size Uploaded
aws_lambda_manager-1.0.0.tar.gz 7.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for aws-lambda-manager 1.0.0
File Interpreter ABI Platform
aws_lambda_manager-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 14.1 kB

Release files / aws_lambda_manager-1.0.0.tar.gz

Download URL aws_lambda_manager-1.0.0.tar.gz
Size 7.3 kB
Tags Source
SHA-256 checksum
How to use checksums
eafd2be1b3d79d7267f292905dd977ede80bdb6b293e510cccd30e697e5bb57c
BLAKE2b-256 checksum
How to use checksums
58aeaf8b403c24a97b18928150d18fea3fc07d26198c0dc4db59d4cd59d96c4f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.12

Release files / aws_lambda_manager-1.0.0-py3-none-any.whl

Download URL aws_lambda_manager-1.0.0-py3-none-any.whl
Size 6.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
79dabb89e2e88963794c792d1d1b3348ff6adc21e314e52a04905f156b719278
BLAKE2b-256 checksum
How to use checksums
17dbf149dae36d75bcdc2b58d49daf3cceb6d8691be8b313480c59ee52cddd3a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.12

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page