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

  1. Accedeix a la consola de gestió d'AWS.
  2. Navega a Amazon EventBridge.
  3. Selecciona Event buses al menú lateral.
  4. Fes clic a Create event bus.
  5. Introdueix un nom per al teu bus d'esdeveniments i fes clic a Create.

Pas 2: Crear una Regla

  1. A la consola d'EventBridge, selecciona Rules al menú lateral.
  2. Fes clic a Create rule.
  3. Introdueix un nom i una descripció per a la regla.
  4. Selecciona el bus d'esdeveniments que has creat anteriorment.
  5. Defineix el patró d'esdeveniments que vols capturar. Pots utilitzar patrons predefinits o personalitzats.
  6. Selecciona la destinació per als esdeveniments capturats (per exemple, una funció Lambda).
  7. Fes clic a Create.

Pas 3: Provar la Configuració

  1. Genera un esdeveniment que coincideixi amb el patró definit a la regla.
  2. 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

  1. A la consola d'EventBridge, crea una nova regla.
  2. Defineix el patró d'esdeveniments per capturar la creació d'un nou usuari.
  3. Selecciona la funció Lambda creada com a destinació.

Pas 3: Provar l'Escenari

  1. Genera un esdeveniment de creació d'usuari.
  2. 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

  1. Crea un bus d'esdeveniments anomenat UserEvents.
  2. Crea una regla que capturi esdeveniments de creació d'usuari i enviï una notificació a una funció Lambda.

Exercici 2: Integrar amb Amazon SNS

  1. Crea un tema SNS.
  2. Modifica la regla per enviar esdeveniments al tema SNS en lloc de la funció Lambda.
  3. Subscriu-te al tema SNS amb el teu correu electrònic i verifica que reps les notificacions.

Solucions

Solució a l'Exercici 1

  1. Crear el bus d'esdeveniments UserEvents seguint els passos descrits anteriorment.
  2. Crear una regla amb el següent patró d'esdeveniments:
{
  "source": ["my.application"],
  "detail-type": ["User Created"]
}
  1. Seleccionar la funció Lambda com a destinació.

Solució a l'Exercici 2

  1. Crear un tema SNS anomenat UserNotifications.
  2. Modificar la regla per enviar esdeveniments al tema SNS.
  3. 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.

© Copyright 2024. Tots els drets reservats