Invio di eventi ad CloudWatch - AWS SDK for Java 1. x

La AWS SDK for Java versione 1.x è entrata in modalità manutenzione il 31 luglio 2024 e sarà disponibile il 31 end-of-supportdicembre 2025. Ti consigliamo di eseguire la migrazione a per continuare AWS SDK for Java 2.xa ricevere nuove funzionalità, miglioramenti della disponibilità e aggiornamenti di sicurezza.

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Invio di eventi ad CloudWatch

CloudWatchEvents offre un flusso quasi in tempo reale di eventi di sistema che descrivono le modifiche inAWSrisorse perAmazon EC2istanze,Lambdafunzioni,Kinesisflussi,Amazon ECSattività,Step Functionsmacchine a stati,Amazon SNSargomenti,Amazon SQScode o destinazioni incorporate. Puoi abbinare gli eventi e instradarli verso una o più funzioni o stream target utilizzando regole semplici.

Aggiunta di eventi

Per aggiungere personalizzatiCloudWatcheventi, chiama Amazon CloudWatcheventsClientputEventsmetodo con unPutEventsRequestoggetto che contiene uno o piùPutEventsRequestEntryoggetti che forniscono dettagli su ogni evento. Puoi specificare diversi parametri per la voce, ad esempio l'origine e il tipo di evento, le risorse associate all'evento e così via.

Nota

Puoi specificare un massimo di 10 eventi per chiamata a putEvents.

Importazioni

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;

Codice

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);

Aggiunta di regole

Per creare o aggiornare una regola, chiama il client di AmazonCloudWatchEventsClientputRulemetodo con unPutRuleRequest inserimentocon il nome della regola e parametri opzionali come ilModello di eventi,IAMruolo da associare alla regola e aespressione di pianificazioneche descrive la frequenza con cui viene eseguita la regola.

Importazioni

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;

Codice

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);

Aggiunta di target

I target sono le risorse che vengono invocate quando una regola viene attivata. Esempi di target includono istanze Amazon EC2, funzioni Lambda, stream Kinesis, operazioni Amazon ECS, macchine a stati di Step Functions e target integrati.

Per aggiungere un target a una regola, chiama il client di AmazonCloudWatchEventsClientputTargetsmetodo con unPutTargetsRequest Puttcontenente la regola da aggiornare e un elenco di target da aggiungere alla regola.

Importazioni

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;

Codice

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);

Ulteriori informazioni