Envoi d'événements à CloudWatch - AWS SDK for Java 1. x

Nous avons annoncé la sortie prochaine end-of-support de AWS SDK for Java (v1). Nous vous recommandons de migrer vers la AWS SDK for Java version v2. Pour les dates, les détails supplémentaires et les informations sur la façon de migrer, reportez-vous à l'annonce associée.

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.

Envoi d'événements à CloudWatch

CloudWatchEvents fournit un flux d'événements système en temps quasi réel qui décrivent les modifications apportées àAWSressources pourAmazon EC2instances,LambdaFonctionsKinesisflux,Amazon ECStâches,Step Functionsmachines d'état,Amazon SNSsujets,Amazon SQSfiles d'attente ou cibles intégrées. À l'aide de règles simples, vous pouvez faire correspondre les événements et les acheminer vers un ou plusieurs flux ou fonctions cibles.

Ajout d'événements

Pour ajouter des informations personnaliséesCloudWatchévénements, appelez le client Amazon CloudWatch EventsClientputEventsavec une méthodePutEventsRequestqui contient un ou plusieurs objetsPutEventsRequestEntryobjets qui fournissent des détails sur chaque événement. Vous pouvez spécifier plusieurs paramètres pour l'entrée, tels que la source et le type de l'événement, les ressources associées à l'événement, et ainsi de suite.

Note

Vous pouvez spécifier un maximum de 10 événements par appel de putEvents.

Importations

import com.amazonaws.services.cloudwatchevents.AmazonCloudWatchEvents; import com.amazonaws.services.cloudwatchevents.AmazonCloudWatchEventsClientBuilder; import com.amazonaws.services.cloudwatchevents.model.PutEventsRequest; import com.amazonaws.services.cloudwatchevents.model.PutEventsRequestEntry; import com.amazonaws.services.cloudwatchevents.model.PutEventsResult;

Code

final AmazonCloudWatchEvents cwe = AmazonCloudWatchEventsClientBuilder.defaultClient(); final String EVENT_DETAILS = "{ \"key1\": \"value1\", \"key2\": \"value2\" }"; PutEventsRequestEntry request_entry = new PutEventsRequestEntry() .withDetail(EVENT_DETAILS) .withDetailType("sampleSubmitted") .withResources(resource_arn) .withSource("aws-sdk-java-cloudwatch-example"); PutEventsRequest request = new PutEventsRequest() .withEntries(request_entry); PutEventsResult response = cwe.putEvents(request);

Ajout de règles

Pour créer ou mettre à jour une règle, appelez leputRuleavec une méthodePutRuleRequest PURavec le nom de la règle et des paramètres facultatifs tels que leModèle d'événement,IAMrôle à associer à la règle, et unExpression de planificationqui décrit la fréquence d'exécution de la règle.

Importations

import com.amazonaws.services.cloudwatchevents.AmazonCloudWatchEvents; import com.amazonaws.services.cloudwatchevents.AmazonCloudWatchEventsClientBuilder; import com.amazonaws.services.cloudwatchevents.model.PutRuleRequest; import com.amazonaws.services.cloudwatchevents.model.PutRuleResult; import com.amazonaws.services.cloudwatchevents.model.RuleState;

Code

final AmazonCloudWatchEvents cwe = AmazonCloudWatchEventsClientBuilder.defaultClient(); PutRuleRequest request = new PutRuleRequest() .withName(rule_name) .withRoleArn(role_arn) .withScheduleExpression("rate(5 minutes)") .withState(RuleState.ENABLED); PutRuleResult response = cwe.putRule(request);

Ajout de cibles

Les cibles sont les ressources appelées lorsqu'une règle est déclenchée. Parmi les exemples de cibles, citons les instances Amazon EC2, les fonctions Lambda, les flux Kinesis, les tâches Amazon ECS, les machines d'état Step Functions et les cibles intégrées.

Pour ajouter une cible à une règle, appelez leputTargetsavec une méthodePutTargetsRequestcontenant la règle à mettre à jour et la liste des cibles à ajouter à la règle.

Importations

import com.amazonaws.services.cloudwatchevents.AmazonCloudWatchEvents; import com.amazonaws.services.cloudwatchevents.AmazonCloudWatchEventsClientBuilder; import com.amazonaws.services.cloudwatchevents.model.PutTargetsRequest; import com.amazonaws.services.cloudwatchevents.model.PutTargetsResult; import com.amazonaws.services.cloudwatchevents.model.Target;

Code

final AmazonCloudWatchEvents cwe = AmazonCloudWatchEventsClientBuilder.defaultClient(); Target target = new Target() .withArn(function_arn) .withId(target_id); PutTargetsRequest request = new PutTargetsRequest() .withTargets(target) .withRule(rule_name); PutTargetsResult response = cwe.putTargets(request);

En savoir plus