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='[email protected]', Destination={ 'ToAddresses': ['[email protected]'], }, 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
UserEvents
seguint 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.