Crear una EventBridge regla para capturar los eventos del ciclo de vida del grupo y publicar las notificaciones - AWS Resource Groups

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.

Crear una EventBridge regla para capturar los eventos del ciclo de vida del grupo y publicar las notificaciones

Puede activar los eventos del ciclo de vida de los grupos de recursos AWS Resource Groups para publicar eventos en Amazon EventBridge. A continuación, puede crear EventBridge reglas que respondan a esos eventos enviándolas a otros Servicios de AWS para su posterior procesamiento.

AWS CLI

El proceso para crear una regla EventBridge que capture los eventos y los envíe al servicio de destino deseado requiere dos comandos de CLI independientes:

Paso 1: Crea la EventBridge regla para capturar los eventos

El siguiente comando de AWS CLI put-rule ejemplo crea una EventBridge regla que captura todos los cambios en los eventos del ciclo de vida de Resource Groups.

$ aws events put-rule \ --name "CatchAllResourceGroupEvents" \ --event-pattern '{"source":["aws.resource-groups"]}' { "RuleArn": "arn:aws:events:us-east-1:123456789012:rule/CatchAllResourceGroupEvents" }

El resultado incluye el Nombre de recurso de Amazon (ARN) de la nueva regla.

nota

Los valores de parámetros que incluyen cadenas entre comillas tienen reglas de formato diferentes según el sistema operativo y el shell que use. En los ejemplos de esta guía, mostramos los comandos que funcionan en un shell BASH de Linux. Para obtener instrucciones sobre cómo formatear cadenas con comillas incrustadas para otros sistemas operativos, como la línea de comandos de Windows, consulte Uso de comillas dentro de cadenas en la Guía del usuario de AWS Command Line Interface.

A medida que las cadenas de parámetros se vuelven más complejas, puede resultar más fácil y menos propenso a errores aceptar el valor de un parámetro de un archivo de texto en lugar de escribirlo directamente en la línea de comandos.

El siguiente patrón de eventos restringe los eventos solo a aquellos que están relacionados con el grupo especificado, identificado por su ARN. Este patrón de eventos es una cadena JSON compleja que resulta mucho menos legible cuando se comprime en una cadena JSON de una sola línea escapada correctamente. En su lugar, puede guardarlo en un archivo.

Guarde la cadena JSON del patrón de eventos en un archivo. En el siguiente ejemplo de código, el archivo es eventpattern.txt.

{ "source": [ "aws.resource-groups" ], "detail": { "group": { "arn": [ "my-resource-group-arn" ] } } }

A continuación, ejecute el siguiente comando para crear la regla, recuperando el patrón de eventos personalizado del archivo.

$ aws events put-rule \ --name "CatchResourceGroupEventsForMyGroup" \ --event-pattern file://eventpattern.txt { "RuleArn": "arn:aws:events:us-east-1:123456789012:rule/CatchResourceGroupEventsForMyGroup" }

Para capturar otros tipos de eventos de Resource Groups, sustituya la cadena --event-pattern con filtros como los que se presentan en la sección Ejemplos de patrones de eventos EventBridge personalizados para diferentes casos de uso.

Paso 2: Adjunte a la EventBridge regla un destino que pueda procesar los eventos

Ahora que tiene una regla que captura los eventos que le interesan, puede adjuntar uno o más objetivos para procesar los eventos de algún tipo.

El siguiente comando de AWS CLI put-targets adjunta un tema de Amazon Simple Notification Service (Amazon SNS) denominado my-sns-topic a la regla que creó en el ejemplo anterior. Todos los suscriptores del tema reciben una notificación cuando se produce un cambio en el grupo especificado en la regla.

$ aws events put-targets \ --rule CatchResourceGroupEventsForMyGroup \ --targets Id=1,Arn=arn:aws:sns:us-east-1:123456789012:my-sns-topic { "FailedEntryCount": 0, "FailedEntries": [] }

En este punto, cualquier cambio de grupo que coincida con el patrón de eventos de la regla se envía automáticamente al destino o los destinos configurados. Si, como en el ejemplo anterior, el objetivo es un tema de Amazon SNS, todos los suscriptores del tema recibirán un mensaje con el evento tal y como se describe en Estructura y sintaxis de los eventos del ciclo de vida de Resource Groups.

Para obtener más información, consulte los siguientes recursos:

Crear una regla para capturar solo tipos de eventos específicos del ciclo de vida de un grupo

Puede crear una regla con un patrón de eventos personalizado que capture solo los eventos que le interesen. Para obtener información completa sobre cómo filtrar los eventos entrantes mediante un patrón de eventos personalizado, consulta Amazon EventBridge events en la Guía del EventBridge usuario de Amazon.

Por ejemplo, supongamos que desea que una regla procese únicamente las notificaciones de Resource Groups que indican la creación de un nuevo grupo de recursos. Puede utilizar un patrón de eventos personalizado similar al siguiente ejemplo.

{ "source": [ "aws.resource-groups" ], "detail-type": [ "ResourceGroups Group State Change" ], "detail": { "state-change": "create" } }

Ese filtro captura solo los eventos que tienen esos valores exactos en los campos especificados. Para ver una lista completa de los campos de los que puede hacer coincidir, consulte Estructura y sintaxis de los eventos del ciclo de vida de Resource Groups.