Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Primeros pasos: crea una regla de bus de EventBridge eventos de Amazon
Para familiarizarnos con EventBridge las reglas y sus capacidades, utilizaremos una CloudFormation plantilla para configurar una regla de bus de eventos y los componentes asociados, incluidos el origen, el patrón y el destino del evento. A continuación, analizaremos el funcionamiento de las reglas para seleccionar los eventos que desee.
La plantilla crea una regla en el bus de eventos predeterminado. Esta regla usa un patrón de eventos para filtrar los eventos de un bucket de Amazon S3 específico. La regla envía los eventos coincidentes al destino especificado, un tema de Amazon SNS. Cada vez que se crea un objeto en el bucket, la regla envía una notificación al tema y, a continuación, envía un correo electrónico a la dirección de correo electrónico especificada.
Los recursos implementados constan de los siguientes elementos:
Un bucket de Amazon S3 con EventBridge notificaciones habilitadas para actuar como fuente de eventos.
Un tema de Amazon SNS y una suscripción por correo electrónico como destino de las notificaciones
Una función de ejecución que concede EventBridge los permisos necesarios para publicar en el tema de Amazon SNS.
La regla en sí misma, que:
Define un patrón de eventos que coincide únicamente con los eventos de
Object Createddel bucket específico de Amazon S3Especifica el tema de Amazon SNS como destino al que se envían eventos EventBridge coincidentes.
Para obtener detalles técnicos específicos de la plantilla, consulte Detalles de la plantilla.
Antes de empezar
Para recibir eventos de Amazon S3 EventBridge, debe habilitarlos EventBridge en Amazon S3. En este tema EventBridge se supone que está activado. Para obtener más información, consulte Habilitación EventBridge en la Guía del usuario de Amazon S3.
Crear la regla mediante CloudFormation
Para crear la regla y sus recursos asociados, crearemos una CloudFormation plantilla y la usaremos para crear una pila que contenga una regla de ejemplo, con el origen y el destino.
importante
Si crea una pila a partir de esta plantilla, se le facturarán los recursos de Amazon que utilice.
Primero, crea la CloudFormation plantilla.
En la sección Plantilla, haga clic en el icono de copia de la pestaña JSON o YAML para copiar el contenido de la plantilla.
Pegue el contenido de la plantilla en un archivo nuevo.
Guarde el archivo localmente.
A continuación, usa la plantilla que has guardado para aprovisionar una CloudFormation pila.
Crea la pila con CloudFormation (consola)
Abre la CloudFormation consola en https://console.aws.amazon.com/cloudformation/
. En la página Pilas, para Crear pila elija Con nuevos recursos (estándar).
En Especificar plantilla:
En Requisito previo, elija Seleccionar una plantilla existente.
En Especificar plantilla, elija Cargar un archivo de plantilla.
Seleccione Elegir archivo para navegar hasta el archivo y seleccionarlo.
Elija Siguiente.
Especifique los detalles de la pila:
Introduzca un nombre de pila.
Para BucketName, introduce un nombre de bucket único a nivel mundial. Los nombres de los buckets de Amazon S3 deben ser únicos en todas AWS las cuentas.
Para SNSTopicDisplayName, SNSTopicNombre y RuleName, acepte los valores predeterminados o introduzca los suyos propios.
Para EmailAddress, introduzca una dirección de correo electrónico válida en la que desee recibir las notificaciones.
Elija Siguiente.
Configure las opciones la pila:
En las opciones de error de pila, seleccione Eliminar todos los recursos recién creados.
nota
Si elige esta opción, evita que se le facturen los recursos cuya política de eliminación especifique que se conservarán incluso si se produce un error durante la creación de la pila. Para obtener más información, consulte Atributo
DeletionPolicyen la Guía del usuario de CloudFormation .Acepte todos los demás valores predeterminados.
En Capacidades, marca la casilla para confirmar que se CloudFormation podrían crear recursos de IAM en tu cuenta.
Elija Siguiente.
Revise los detalles de la pila y elija Enviar.
Cree la pila con CloudFormation ()AWS CLI
También puedes usar el AWS CLI para crear la pila.
-
Utilice el comando
create-stack.Acepte los valores de los parámetros de la plantilla predeterminados y especifique el nombre de la pila, la dirección de correo electrónico y el nombre del depósito. Utilice el parámetro
template-bodypara pasar el contenido de la plantilla otemplate-urlpara especificar una ubicación de URL.aws cloudformation create-stack \ --stack-nameeventbridge-rule-tutorial\ --template-bodytemplate-contents\ --parameters \ ParameterKey=EmailAddress,ParameterValue=your.email@example.com\ ParameterKey=BucketName,ParameterValue=my-unique-bucket-name\ --capabilities CAPABILITY_IAMSobrescriba los valores predeterminados de uno o más parámetros de plantilla. Por ejemplo:
aws cloudformation create-stack \ --stack-nameeventbridge-rule-tutorial\ ----template-bodytemplate-contents\ --parameters \ ParameterKey=EmailAddress,ParameterValue=your.email@example.com\ ParameterKey=BucketName,ParameterValue=my-custom-bucket-name\ ParameterKey=RuleName,ParameterValue=my-custom-rule-name\ --capabilities CAPABILITY_IAM
CloudFormation crea la pila. Una vez completada la creación de la pila, los recursos de la pila están listos para usarse. Puede usar la pestaña Recursos de la página de detalles de la pila para ver los recursos que se aprovisionaron en su cuenta.
Una vez creada la pila, recibirá un correo electrónico de confirmación de la suscripción en la dirección que ha proporcionado. Debe confirmar esta suscripción para recibir notificaciones.
Análisis de las capacidades de la regla
Una vez creada la regla, puede usar la EventBridge consola para observar el funcionamiento de la regla y probar la entrega de los eventos.
¿Abrir la EventBridge consola en https://console.aws.amazon.com/events/casa? #/reglas
. -
Elija la regla que ha creado.
En la página de detalles de la regla, la sección Detalles de la regla muestra información sobre la regla, incluidos su patrón de eventos y sus objetivos.
Análisis del patrón de eventos
Antes de probar el funcionamiento de la regla, analizaremos el patrón de eventos que hemos especificado para controlar qué eventos se envían al destino. La regla solo enviará al destino los eventos que coincidan con los criterios del patrón. En este caso, solo queremos el evento que genera Amazon S3 cuando se crea un objeto en nuestro bucket específico.
En la página de detalles de la regla, en Patrón de eventos, puede ver cómo el patrón de eventos selecciona solo eventos en los que:
el origen es el servicio de Amazon S3 (
aws.s3),el tipo de detalle es
Object Created,el nombre del bucket coincide con el nombre del bucket que hemos creado.
{ "source": ["aws.s3"], "detail-type": ["Object Created"], "detail": { "bucket": { "name": ["eventbridge-rule-example-source"] } } }
Envío de eventos a través de la regla
A continuación, generaremos eventos en el origen del evento para comprobar que la coincidencia de la regla y la entrega funcionan correctamente. Para ello, cargaremos un objeto en el bucket de S3 que especificamos como origen del evento.
Abra la consola de Amazon S3 en https://console.aws.amazon.com/s3/
. En la lista de cubos, elige el grupo que creaste con la plantilla.
Seleccione Cargar.
-
Cargue un archivo de prueba para generar un evento
Object Created:Elija Añadir archivos para seleccionar un archivo desde su equipo.
Seleccione Cargar.
Espera unos instantes a que procese el evento EventBridge y se envíe la notificación.
Compruebe su correo electrónico para ver si hay alguna notificación sobre el evento de creación del objeto. El correo electrónico incluirá detalles sobre el evento de S3, como el nombre del bucket y la clave del objeto.
Visualización de métricas de regla
Puede ver las métricas de su regla para confirmar que los eventos se estén procesando correctamente.
En la EventBridge consola
, elige tu regla. Elija la pestaña Metrics (Métricas).
Puede ver métricas como las siguientes:
Invocations: es el número de veces que se ha activado la regla.
TriggeredRules: el número de reglas que se activaron al coincidir eventos.
Limpieza: eliminación de recursos
Como último paso, eliminaremos la pila y los recursos que contiene.
importante
Se le facturarán los recursos de Amazon incluidos en la pila mientras exista.
Abre la CloudFormation consola en https://console.aws.amazon.com/cloudformation/
. -
En la página Pilas, seleccione la pila creada a partir de la plantilla, seleccione Eliminar y, a continuación, confirme Eliminar.
CloudFormation inicia la eliminación de la pila y de todos los recursos que incluye.
CloudFormation detalles de la plantilla
Esta plantilla crea recursos y concede permisos en su cuenta.
Recursos
La CloudFormation plantilla de este tutorial creará los siguientes recursos en su cuenta:
importante
Si crea una pila a partir de esta plantilla, se le facturarán los recursos de Amazon que utilice.
AWS::S3::Bucket: un bucket de Amazon S3 que actúa como fuente de eventos para la regla, con EventBridge las notificaciones habilitadas.AWS::SNS::Topic: es un tema de Amazon SNS que actúa como destino de los eventos que coinciden con la regla.AWS::SNS::Subscription: es una suscripción por correo electrónico al tema de SNS.AWS::IAM::Role: funciones de ejecución de IAM que otorgan permisos al EventBridge servicio y a la función de limpieza de Lambda.AWS::Events::Rule: es la regla que conecta los eventos del bucket de Amazon S3 con el tema de Amazon SNS.AWS::Lambda::Function: una función Lambda que vacía el bucket de Amazon S3 cuando se elimina la pila, lo que permite eliminar todos los recursos de forma limpia.
Permisos
La plantilla incluye un recurso AWS::IAM::Role que representa un rol de ejecución. Esta función otorga al EventBridge servicio (events.amazonaws.com) los siguientes permisos en su cuenta.
Los siguientes permisos se conceden a través de la política administrada por AmazonSNSFullAccess:
Acceso completo a todas las operaciones y recursos de Amazon SNS
CloudFormation plantilla
Guarda el siguiente código YAML como un archivo independiente para usarlo como CloudFormation plantilla en este tutorial.