O AWS SDK for Java 1.x entrou no modo de manutenção em 31 de julho de 2024 e chegará end-of-support
As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Enviar eventos ao CloudWatch
O CloudWatch Events distribui um fluxo quase em tempo real de eventos do sistema que descrevem alterações feitas em recursos da AWS para instâncias do Amazon EC2, funções do Lambda, fluxos do Kinesis, tarefas do Amazon ECS, máquinas de estado do Step Functions, tópicos do Amazon SNS, filas do Amazon SQS ou destinos internos. Você pode comparar eventos e roteá-los para um ou mais fluxos ou funções de destino usando regras simples.
Adicionar eventos
Para adicionar eventos do CloudWatch personalizados, chame o método putEvents
do AmazonCloudWatchEventsClient com um objeto PutEventsRequest que contenha um ou mais objetos PutEventsRequestEntry que fornecem detalhes sobre cada evento. Você pode especificar vários parâmetros para a entrada, como a origem e o tipo do evento, recursos associados ao evento e assim por diante.
nota
Você pode especificar um máximo de dez eventos por chamada para putEvents
.
Importações
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;
Código
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);
Adicionar regras
Para criar ou atualizar uma regra, chame o método putRule
do AmazonCloudWatchEventsClient com um PutRuleRequest com o nome da regra e os parâmetros opcionais, como o padrão de evento, o perfil do IAM a ser associado à regra e uma expressão de programação que descreva com que frequência a regra é executada.
Importações
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;
Código
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);
Adicionar destinos
Destinos são os recursos invocados quando uma regra é disparada. Entre os destinos de exemplo estão instâncias do Amazon EC2, funções do Lambda, streamings do Kinesis, tarefas do Amazon ECS, máquinas de estado do Step Functions e destinos integrados.
Para adicionar um destino a uma regra, chame o método putTargets
do AmazonCloudWatchEventsClient com um PutTargetsRequest que contenha a regra a ser atualizada e uma lista de destinos a serem adicionados à regra.
Importações
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;
Código
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);
Mais informações
-
Adicionar eventos com PutEvents no Guia do Usuário do Amazon CloudWatch Events
-
Programar expressões para regras no Guia do Usuário do Amazon CloudWatch Events
-
Tipos de eventos para o CloudWatch Events no Guia do usuário do Amazon CloudWatch Events
-
Eventos e padrões de evento no Guia do Usuário do Amazon CloudWatch Events
-
PutEvents na Referência de API do Amazon CloudWatch Events
-
PutTargets na Referência de API do Amazon CloudWatch Events
-
PutRule na Referência de API do Amazon CloudWatch Events