Exemples d’utilisation de l’AWS CLI avec EventBridge - AWS Command Line Interface

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-rules

Pour 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 --entries file://putevents.json

Voici 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 --rule DailyLambdaFunction --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 --rule EC2InstanceStateChanges --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 --rule DailyLambdaFunction --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.