Exemples d’utilisation de l’AWS CLI avec EventBridge
Les exemples de code suivants montrent comment réaliser des actions et mettre en œuvre des scénarios courants en utilisant l’AWS Command Line Interface avec EventBridge.
Les actions sont des extraits de code de programmes plus larges et doivent être exécutées dans leur contexte. Alors que les actions vous indiquent comment appeler des fonctions de service individuelles, vous pouvez les voir en contexte dans leurs scénarios associés.
Chaque exemple inclut un lien vers le code source complet, où vous trouverez des instructions sur la configuration et l’exécution du code en contexte.
Rubriques
Actions
L’exemple de code suivant montre comment utiliser delete-rule.
- AWS CLI
-
Pour supprimer une règle CloudWatch Events
Cet exemple supprime la règle nommée EC2InstanceStateChanges :
aws events delete-rule --name"EC2InstanceStateChanges"-
Pour plus de détails sur l’API, consultez DeleteRule
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser describe-rule.
- AWS CLI
-
Pour afficher les informations relatives à une règle CloudWatch Events
Cet exemple affiche les informations sur la règle nommée DailyLambdaFunction :
aws events describe-rule --name"DailyLambdaFunction"-
Pour plus de détails sur l’API, consultez DescribeRule
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser disable-rule.
- AWS CLI
-
Pour désactiver une règle CloudWatch Events
Cet exemple désactive la règle nommée DailyLambdaFunction. La règle n’est pas supprimée :
aws events disable-rule --name"DailyLambdaFunction"-
Pour plus de détails sur l’API, consultez DisableRule
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser enable-rule.
- AWS CLI
-
Pour activer une règle CloudWatch Events
Cet exemple active la règle nommée DailyLambdaFunction, qui avait été précédemment désactivée :
aws events enable-rule --name"DailyLambdaFunction"-
Pour plus de détails sur l’API, consultez EnableRule
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser list-rule-names-by-target.
- AWS CLI
-
Pour afficher toutes les règles ayant une cible spécifiée
Cet exemple affiche toutes les règles dont la cible est la fonction Lambda nommée « MyFunctionName » :
aws events list-rule-names-by-target --target-arn"arn:aws:lambda:us-east-1:123456789012:function:MyFunctionName"-
Pour plus de détails sur l’API, consultez ListRuleNamesByTarget
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser list-rules.
- AWS CLI
-
Pour afficher une liste de toutes les règles CloudWatch Events
Cet exemple affiche toutes les règles CloudWatch Events de la région :
aws events list-rulesPour afficher une liste des règles CloudWatch Events commençant par une certaine chaîne.
Cet exemple affiche toutes les règles CloudWatch Events de la région dont le nom commence par « Daily » :
aws events list-rules --name-prefix"Daily"-
Pour plus de détails sur l’API, consultez ListRules
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser list-targets-by-rule.
- AWS CLI
-
Pour afficher toutes les cibles d’une règle CloudWatch Events
Cet exemple affiche toutes les cibles de la règle nommée DailyLambdaFunction :
aws events list-targets-by-rule --rule"DailyLambdaFunction"-
Pour plus de détails sur l’API, consultez ListTargetsByRule
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser put-events.
- AWS CLI
-
Pour envoyer un événement personnalisé à CloudWatch Events
Cet exemple envoie un événement personnalisé à CloudWatch Events. L’événement est contenu dans le fichier putevents.json :
aws events put-events --entriesfile://putevents.jsonVoici le contenu du fichier putevents.json :
[ { "Source": "com.mycompany.myapp", "Detail": "{ \"key1\": \"value1\", \"key2\": \"value2\" }", "Resources": [ "resource1", "resource2" ], "DetailType": "myDetailType" }, { "Source": "com.mycompany.myapp", "Detail": "{ \"key1\": \"value3\", \"key2\": \"value4\" }", "Resources": [ "resource1", "resource2" ], "DetailType": "myDetailType" } ]-
Pour plus de détails sur l’API, consultez PutEvents
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser put-rule.
- AWS CLI
-
Pour créer des règles CloudWatch Events
Cet exemple crée une règle qui se déclenche chaque jour à 9 h 00 (UTC). Si vous utilisez put-targets pour ajouter une fonction Lambda comme cible de cette règle, vous pouvez exécuter la fonction Lambda tous les jours à l’heure spécifiée :
aws events put-rule --name"DailyLambdaFunction"--schedule-expression"cron(0 9 * * ? *)"Cet exemple crée une règle qui se déclenche lorsqu’une instance EC2 de la région change d’état :
aws events put-rule --name"EC2InstanceStateChanges"--event-pattern "{\"source\":[\"aws.ec2\"],\"detail-type\":[\"EC2 Instance State-change Notification\"]}" --role-arn"arn:aws:iam::123456789012:role/MyRoleForThisRule"Cet exemple crée une règle qui se déclenche lorsqu’une instance EC2 de la région est arrêtée ou supprimée :
aws events put-rule --name"EC2InstanceStateChangeStopOrTerminate"--event-pattern "{\"source\":[\"aws.ec2\"],\"detail-type\":[\"EC2 Instance State-change Notification\"],\"detail\":{\"state\":[\"stopped\",\"terminated\"]}}" --role-arn"arn:aws:iam::123456789012:role/MyRoleForThisRule"-
Pour plus de détails sur l’API, consultez PutRule
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser put-targets.
- AWS CLI
-
Pour ajouter des cibles aux règles CloudWatch Events
Cet exemple ajoute une fonction Lambda comme cible d’une règle :
aws events put-targets --ruleDailyLambdaFunction--targets "Id"="1","Arn"="arn:aws:lambda:us-east-1:123456789012:function:MyFunctionName"Cet exemple définit un flux Amazon Kinesis comme cible, afin que les événements concernés par cette règle soient relayés vers le flux :
aws events put-targets --ruleEC2InstanceStateChanges--targets "Id"="1","Arn"="arn:aws:kinesis:us-east-1:123456789012:stream/MyStream","RoleArn"="arn:aws:iam::123456789012:role/MyRoleForThisRule"Cet exemple définit deux flux Amazon Kinesis comme cibles pour une règle :
aws events put-targets --ruleDailyLambdaFunction--targets "Id"="Target1","Arn"="arn:aws:kinesis:us-east-1:379642911888:stream/MyStream1","RoleArn"="arn:aws:iam::379642911888:role/ MyRoleToAccessLambda" "Id"="Target2"," Arn"="arn:aws:kinesis:us-east-1:379642911888:stream/MyStream2","RoleArn"="arn:aws:iam::379642911888:role/MyRoleToAccessLambda"-
Pour plus de détails sur l’API, consultez PutTargets
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser remove-targets.
- AWS CLI
-
Pour supprimer une cible pour un événement
Cet exemple supprime le flux Amazon Kinesis nommé MyStream1 comme cible de la règle DailyLambdaFunction. Lorsque la règle DailyLambdaFunction a été créée, ce flux a été défini comme cible avec l’ID Target1 :
aws events remove-targets --rule"DailyLambdaFunction"--ids"Target1"-
Pour plus de détails sur l’API, consultez RemoveTargets
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser test-event-pattern.
- AWS CLI
-
Pour vérifier si un modèle d’événement correspond à un événement spécifié
Cet exemple teste si le modèle source:com.mycompany.myapp correspond à l’événement spécifié. Dans cet exemple, le résultat serait « true » :
aws events test-event-pattern --event-pattern "{\"source\":[\"com.mycompany.myapp\"]}" --event "{\"id\":\"1\",\"source\":\"com.mycompany.myapp\",\"detail-type\":\"myDetailType\",\"account\":\"123456789012\",\"region\":\"us-east-1\",\"time\":\"2017-04-11T20:11:04Z\"}"-
Pour plus de détails sur l’API, consultez TestEventPattern
dans la Référence des commandes de l’AWS CLI.
-