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 operacionesAWSAuthenticationError: 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eafd2be1b3d79d7267f292905dd977ede80bdb6b293e510cccd30e697e5bb57c
|
|
| MD5 |
9920b73bdd958e88da0dfb4743620a6e
|
|
| BLAKE2b-256 |
58aeaf8b403c24a97b18928150d18fea3fc07d26198c0dc4db59d4cd59d96c4f
|
File details
Details for the file aws_lambda_manager-1.0.0-py3-none-any.whl.
File metadata
- Download URL: aws_lambda_manager-1.0.0-py3-none-any.whl
- Upload date:
- Size: 6.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
79dabb89e2e88963794c792d1d1b3348ff6adc21e314e52a04905f156b719278
|
|
| MD5 |
b6c5e1fca59003a9301f404bd7e5acfc
|
|
| BLAKE2b-256 |
17dbf149dae36d75bcdc2b58d49daf3cceb6d8691be8b313480c59ee52cddd3a
|