Introducció a Amazon EventBridge
Amazon EventBridge és un servei de bus d'esdeveniments que permet connectar aplicacions utilitzant dades de les teves aplicacions, serveis integrats d'AWS i aplicacions SaaS (Software as a Service). EventBridge facilita la creació d'arquitectures basades en esdeveniments, permetent que les aplicacions reaccionin a canvis en temps real.
Conceptes Clau
- Esdeveniments: Representen un canvi d'estat o una actualització en el sistema. Per exemple, la creació d'un nou usuari o la finalització d'una tasca.
- Regles: Defineixen quins esdeveniments han de ser processats i quines accions s'han de prendre quan es produeixen aquests esdeveniments.
- Destinacions: Són els serveis o aplicacions que reben els esdeveniments processats per les regles. Poden ser serveis d'AWS com Lambda, SQS, SNS, etc.
Configuració d'Amazon EventBridge
Pas 1: Crear un Bus d'Esdeveniments
- Accedeix a la consola de gestió d'AWS.
- Navega a Amazon EventBridge.
- Selecciona Event buses al menú lateral.
- Fes clic a Create event bus.
- Introdueix un nom per al teu bus d'esdeveniments i fes clic a Create.
Pas 2: Crear una Regla
- A la consola d'EventBridge, selecciona Rules al menú lateral.
- Fes clic a Create rule.
- Introdueix un nom i una descripció per a la regla.
- Selecciona el bus d'esdeveniments que has creat anteriorment.
- Defineix el patró d'esdeveniments que vols capturar. Pots utilitzar patrons predefinits o personalitzats.
- Selecciona la destinació per als esdeveniments capturats (per exemple, una funció Lambda).
- Fes clic a Create.
Pas 3: Provar la Configuració
- Genera un esdeveniment que coincideixi amb el patró definit a la regla.
- Verifica que la destinació (per exemple, la funció Lambda) ha rebut i processat l'esdeveniment correctament.
Exemple Pràctic
Escenari: Notificació per Correu Electrònic quan es Crea un Nou Usuari
Pas 1: Crear una Funció Lambda
import json
import boto3
def lambda_handler(event, context):
ses = boto3.client('ses')
response = ses.send_email(
Source='teu_correu@example.com',
Destination={
'ToAddresses': ['destinatari@example.com'],
},
Message={
'Subject': {
'Data': 'Nou Usuari Creat',
},
'Body': {
'Text': {
'Data': f"Nou usuari creat: {json.dumps(event)}",
},
},
}
)
return {
'statusCode': 200,
'body': json.dumps('Correu enviat!')
}Pas 2: Crear una Regla a EventBridge
- A la consola d'EventBridge, crea una nova regla.
- Defineix el patró d'esdeveniments per capturar la creació d'un nou usuari.
- Selecciona la funció Lambda creada com a destinació.
Pas 3: Provar l'Escenari
- Genera un esdeveniment de creació d'usuari.
- Verifica que s'ha enviat un correu electrònic amb la informació del nou usuari.
Exercicis Pràctics
Exercici 1: Crear un Bus d'Esdeveniments i una Regla
- Crea un bus d'esdeveniments anomenat
UserEvents. - Crea una regla que capturi esdeveniments de creació d'usuari i enviï una notificació a una funció Lambda.
Exercici 2: Integrar amb Amazon SNS
- Crea un tema SNS.
- Modifica la regla per enviar esdeveniments al tema SNS en lloc de la funció Lambda.
- Subscriu-te al tema SNS amb el teu correu electrònic i verifica que reps les notificacions.
Solucions
Solució a l'Exercici 1
- Crear el bus d'esdeveniments
UserEventsseguint els passos descrits anteriorment. - Crear una regla amb el següent patró d'esdeveniments:
- Seleccionar la funció Lambda com a destinació.
Solució a l'Exercici 2
- Crear un tema SNS anomenat
UserNotifications. - Modificar la regla per enviar esdeveniments al tema SNS.
- Subscriure's al tema SNS amb el teu correu electrònic i verificar les notificacions.
Conclusió
Amazon EventBridge és una eina poderosa per construir arquitectures basades en esdeveniments. Permet integrar fàcilment diferents serveis i aplicacions, reaccionant a canvis en temps real. Amb la pràctica, podràs crear sistemes més dinàmics i escalables utilitzant EventBridge.
