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 AWS CloudFormation plantilla para configurar una regla de bus de eventos y los componentes asociados, incluidos el origen, el patrón de eventos y el destino. A continuación, analizaremos cómo funcionan las reglas para seleccionar los eventos que desees.
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 objetivo 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 desplegados consisten en:
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í, que:
Define un patrón de eventos que coincide únicamente con
Object Created
los eventos del bucket específico de Amazon S3.Especifica 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, consultedetalles 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
Se te facturarán los recursos de Amazon utilizados si creas una pila a partir de esta plantilla.
Primero, crea la CloudFormation plantilla.
En la Plantilla sección, haz 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 Stacks, en el menú Crear pila, elige entre los nuevos recursos (estándar).
Especifica la plantilla:
En Requisito previo, elija Elegir una plantilla existente.
En Especificar plantilla, elija Cargar un archivo de plantilla.
Elija Elegir archivo, navegue hasta el archivo de plantilla y elíjalo.
Elija Siguiente.
Especifique los detalles de la pila:
Introduzca un nombre de pila.
Para los parámetros, acepte los valores predeterminados de BucketNameSNSTopicDisplayName, SNSTopicNombre y RuleName, o bien 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 de pila:
En las opciones de error de pila, selecciona Eliminar todos los recursos recién creados.
nota
Al elegir esta opción, se evita que se le facturen los recursos cuya política de eliminación especifique que se conservarán incluso si se produce un error al crear la pila. Para obtener más información, consulte el
DeletionPolicy
atributo en la Guía del CloudFormation usuario.Acepte todos los demás valores predeterminados.
En Capacidades, active la casilla para confirmar que se CloudFormation podrían crear recursos de IAM en su cuenta.
Elija Siguiente.
Revisa los detalles de la pila y selecciona Enviar.
Crea 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 plantilla predeterminados, especificando el nombre de la pila y su dirección de correo electrónico. Utilice el
template-body
parámetro para transmitir el contenido de la plantilla otemplate-url
para especificar una ubicación URL.aws cloudformation create-stack \ --stack-name
eventbridge-rule-tutorial
\ --template-bodytemplate-contents
\ --parameters ParameterKey=EmailAddress,ParameterValue=your.email@example.com
\ --capabilities CAPABILITY_IAMAnule los valores predeterminados de uno o más parámetros de la plantilla. Por ejemplo:
aws cloudformation create-stack \ --stack-name
eventbridge-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 finalizada la creación de la pila, los recursos de la pila están listos para usarse. Puedes usar la pestaña Recursos de la página de detalles de la pila para ver los recursos que se aprovisionaron en tu cuenta.
Una vez creada la pila, recibirás un correo electrónico de confirmación de la suscripción en la dirección que has indicado. Debes confirmar esta suscripción para recibir notificaciones.
Explorando las capacidades de las reglas
Una vez creada la regla, puede usar la EventBridge consola para observar el funcionamiento de la regla y probar la entrega de eventos.
¿Abrir la EventBridge consola en https://console.aws.amazon.com/events/casa? #/reglas
. -
Elige la regla que has 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.
Examinar el patrón de eventos
Antes de probar el funcionamiento de la regla, examinemos el patrón de eventos que hemos especificado para controlar qué eventos se envían al objetivo. La regla solo enviará al objetivo los eventos que coincidan con los criterios del patrón. En este caso, solo queremos el evento que Amazon S3 genera 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 que el patrón de eventos selecciona solo eventos en los que:
La fuente es el servicio Amazon S3 (
aws.s3
)El tipo de detalle es
Object Created
El nombre del depósito coincide con el nombre del depósito que hemos creado
{ "source": ["aws.s3"], "detail-type": ["Object Created"], "detail": { "bucket": { "name": ["
eventbridge-rule-example-source
"] } } }
Enviar eventos a través de la regla
A continuación, generaremos eventos en la fuente de eventos para comprobar que la coincidencia y la entrega de las reglas 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 depósito que creaste con la plantilla (nombre predeterminado:
eventbridge-rule-example-source
).Seleccione Cargar.
-
Sube un archivo de prueba para generar un
Object Created
evento:Elige Añadir archivos y selecciona un archivo de tu ordenador.
Seleccione Cargar.
Espere unos instantes a que procese el evento EventBridge y se envíe la notificación.
Comprueba tu correo electrónico para ver si hay una notificación sobre el evento de creación del objeto. El correo electrónico contendrá detalles sobre el evento de S3, incluidos el nombre del depósito y la clave del objeto.
Ver las métricas de las reglas
Puedes ver las métricas de tu 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).
Puedes ver métricas como las siguientes:
Invocaciones: el número de veces que se activó la regla.
TriggeredRules: el número de reglas que se activaron al coincidir eventos.
Limpiar: eliminar recursos
Como último paso, eliminaremos la pila y los recursos que contiene.
importante
Se te facturarán los recursos de Amazon contenidos en la pila mientras exista.
Abre la CloudFormation consola en. https://console.aws.amazon.com/cloudformation/
-
En la página Stacks, selecciona la pila creada a partir de la plantilla, selecciona Eliminar y, a continuación, confirma 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 tu cuenta.
Recursos
La CloudFormation plantilla de este tutorial creará los siguientes recursos en su cuenta:
importante
Se te facturarán los recursos de Amazon utilizados si creas una pila a partir de esta plantilla.
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
: un tema de Amazon SNS que actúa como objetivo de los eventos que coinciden con la regla.AWS::SNS::Subscription
: Una suscripción por correo electrónico al tema de SNS.AWS::IAM::Role
: Una función de ejecución de IAM que otorga permisos al EventBridge servicio de su cuenta.AWS::Events::Rule
: La regla que conecta los eventos del bucket de Amazon S3 con el tema Amazon SNS.
Permisos
La plantilla incluye un AWS::IAM::Role
recurso que representa una función de ejecución. Este rol otorga al EventBridge servicio (events.amazonaws.com
) los siguientes permisos en su cuenta.
Los siguientes permisos se otorgan a través de la política administradaAmazonSNSFullAccess
:
Acceso total a los recursos y operaciones de Amazon SNS
CloudFormation plantilla
Guarda el siguiente código YAML como un archivo independiente para usarlo como CloudFormation plantilla en este tutorial.