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 des groupes et publier des notifications
Vous pouvez activer les événements du cycle de vie des groupes pour vos groupes de ressources Groupes de ressources AWS 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éation de la EventBridge règle pour capturer les événements
-
L' AWS CLI put-ruleexemple de commande suivant crée une EventBridge règle qui capture toutes les modifications des événements du cycle de vie des groupes de ressources.
$ 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 nom de ressource Amazon (ARN) de la nouvelle règle.
Les valeurs de paramètres qui incluent des chaînes entre guillemets ont des règles de formatage différentes en fonction du système d'exploitation et du shell que vous utilisez. Pour les exemples de ce guide, nous montrons les commandes qui fonctionnent sur un shell Linux BASH. Pour obtenir des instructions sur la mise en forme 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 dans le 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 depuis un fichier texte au lieu de la saisir directement sur la ligne de commande.
Le modèle d'événement 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 le stocker dans un fichier à la place.
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é à partir du 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 de groupes de ressources, remplacez la --event-pattern chaîne par des filtres similaires à ceux présentés dans la sectionExemples de modèles d'événements EventBridge personnalisés pour différents cas d'utilisation.
- Étape 2 : Associez à 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) nommée my-sns-topic à 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, toutes les modifications de groupe qui correspondent au modèle d'événement de votre règle sont automatiquement envoyées à la ou aux cibles configurées. Si, comme dans l'exemple précédent, la cible est une rubrique Amazon SNS, tous les abonnés à cette rubrique reçoivent un message contenant l'événement, comme décrit dansStructure et syntaxe des événements du cycle de vie des groupes de ressources.
Pour plus d’informations, consultez les ressources suivantes :
Création d'une règle pour ne capturer que des types d'événements spécifiques du cycle de vie des groupes
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 façon de filtrer les événements entrants à l'aide d'un modèle d'événement personnalisé, consultez Amazon EventBridge Events dans le guide de EventBridge l'utilisateur Amazon.
Supposons, par exemple, que vous souhaitiez qu'une règle traite uniquement les notifications de groupes de ressources qui indiquent 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 qui ont ces valeurs exactes dans les champs spécifiés. Pour une liste complète des champs que vous pouvez faire correspondre, consultezStructure et syntaxe des événements du cycle de vie des groupes de ressources.