Création d'une EventBridge règle pour capturer les événements du cycle de vie du groupe et publier des notifications - AWS Resource Groups

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Création d'une EventBridge règle pour capturer les événements du cycle de vie du groupe et publier des notifications

Vous pouvez activer les événements du cycle de vie des groupes pour vos groupes de ressources AWS Resource Groups afin de publier des événements sur Amazon EventBridge. Vous pouvez ensuite créer des EventBridge règles qui répondent à ces événements en les envoyant à d'autres Services AWS pour un traitement ultérieur.

AWS CLI

Le processus de création d'une règle EventBridge qui capture les événements et les envoie au service cible souhaité nécessite deux commandes CLI distinctes :

Étape 1 : créer la EventBridge règle pour capturer les événements

L'AWS CLIput-ruleexemple de commande suivant crée une EventBridge règle qui capture toutes les modifications des événements du cycle de vie 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" }

La sortie inclut le Amazon Resource Name (ARN) de la nouvelle règle.

Note

Les valeurs de paramètres qui incluent des chaînes entre guillemets sont soumises à des règles de formatage différentes en fonction du système d'exploitation et du shell que vous utilisez. Pour les exemples présentés dans ce guide, nous montrons des commandes qui fonctionnent sur un shell Linux BASH. Pour obtenir des instructions sur le formatage de chaînes avec des guillemets intégrés pour d'autres systèmes d'exploitation, tels que l'invite de commande Windows, voir Utilisation de guillemets dans les chaînes du Guide de AWS Command Line Interface l'utilisateur.

À mesure que les chaînes de paramètres deviennent plus complexes, il peut être plus facile et moins sujet aux erreurs d'accepter une valeur de paramètre dans un fichier texte au lieu de la saisir directement sur la ligne de commande.

Le modèle d'événements suivant limite les événements à ceux qui sont liés au groupe spécifié, identifié par son ARN. Ce modèle d'événement est une chaîne JSON complexe qui est beaucoup moins lisible lorsqu'elle est compressée en une chaîne JSON d'une seule ligne correctement échappée. Vous pouvez plutôt le stocker dans un fichier.

Stockez la chaîne JSON du modèle d'événement dans un fichier. Dans l'exemple de code suivant, le fichier esteventpattern.txt.

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

Exécutez ensuite la commande suivante pour créer la règle, en récupérant le modèle d'événement personnalisé dans le fichier.

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

Pour capturer d'autres types d'événements Resource Groups, remplacez la --event-pattern chaîne par des filtres tels que ceux présentés dans la sectionExemples de modèles d'événements EventBridge personnalisés pour différents cas d'utilisation.

Étape 2 : associer à la EventBridge règle une cible capable de traiter les événements

Maintenant que vous disposez d'une règle qui capture les événements qui vous intéressent, vous pouvez associer une ou plusieurs cibles pour effectuer un certain type de traitement sur les événements.

La AWS CLI put-targets commande suivante associe une rubrique Amazon Simple Notification Service (Amazon SNS) my-sns-topic nommée à la règle que vous avez créée dans l'exemple précédent. Tous les abonnés à la rubrique reçoivent une notification lorsqu'une modification est apportée au groupe spécifié dans la règle.

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

À ce stade, toute modification de groupe correspondant au modèle d'événement de votre règle est automatiquement envoyée à la ou aux cibles configurées. Si, comme dans l'exemple précédent, la cible est un sujet Amazon SNS, tous les abonnés du sujet reçoivent un message contenant l'événement, comme décrit dans. Structure et syntaxe des événements du cycle de vie des Resource Groups

Pour plus d’informations, consultez les ressources suivantes :

Création d'une règle pour capturer uniquement des types d'événements spécifiques du cycle de vie d'un groupe

Vous pouvez créer une règle avec un modèle d'événement personnalisé qui capture uniquement les événements qui vous intéressent. Pour plus de détails sur la manière de filtrer les événements entrants à l'aide d'un modèle d'événement personnalisé, consultez les EventBridge événements Amazon dans le guide de EventBridge l'utilisateur Amazon.

Supposons, par exemple, que vous souhaitiez qu'une règle traite uniquement les notifications Resource Groups indiquant la création d'un nouveau groupe de ressources. Vous pouvez utiliser un modèle d'événement personnalisé similaire à l'exemple suivant.

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

Ce filtre capture uniquement les événements dont les valeurs exactes figurent dans les champs spécifiés. Pour obtenir la liste complète des champs que vous pouvez associer, consultezStructure et syntaxe des événements du cycle de vie des Resource Groups.