Skip to main content

Herramienta simple y directa para administrar AWS Lambda y EventBridge desde Python

Project description

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 🚀

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aws_lambda_manager-1.0.0.tar.gz (7.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

aws_lambda_manager-1.0.0-py3-none-any.whl (6.9 kB view details)

Uploaded Python 3

File details

Details for the file aws_lambda_manager-1.0.0.tar.gz.

File metadata

  • Download URL: aws_lambda_manager-1.0.0.tar.gz
  • Upload date:
  • Size: 7.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.12

File hashes

Hashes for aws_lambda_manager-1.0.0.tar.gz
Algorithm Hash digest
SHA256 eafd2be1b3d79d7267f292905dd977ede80bdb6b293e510cccd30e697e5bb57c
MD5 9920b73bdd958e88da0dfb4743620a6e
BLAKE2b-256 58aeaf8b403c24a97b18928150d18fea3fc07d26198c0dc4db59d4cd59d96c4f

See more details on using hashes here.

File details

Details for the file aws_lambda_manager-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for aws_lambda_manager-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 79dabb89e2e88963794c792d1d1b3348ff6adc21e314e52a04905f156b719278
MD5 b6c5e1fca59003a9301f404bd7e5acfc
BLAKE2b-256 17dbf149dae36d75bcdc2b58d49daf3cceb6d8691be8b313480c59ee52cddd3a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page