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

Abbiamo annunciato l'imminente versione end-of-support di AWS SDK for Java (v1). Ti consigliamo di migrare alla AWS SDK for Java v2. Per date, dettagli aggiuntivi e informazioni su come effettuare la migrazione, consulta l'annuncio collegato.

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