La AWS SDK for Java versión 1.x entró en modo de mantenimiento el 31 de julio de 2024 y estará disponible el 31 de end-of-support
Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Envío de eventos a CloudWatch
CloudWatch permite la transmisión casi en tiempo real de eventos del sistema que describen cambios en los recursos de AWS a instancias Amazon EC2, funciones Lambda, secuencias de Kinesis, tareas de Amazon ECS, máquinas de estado de Step Functions, temas de Amazon SNS, colas de Amazon SQS o destinos integrados. Mediante reglas sencillas, puede asignar los eventos y dirigirlos a una o más secuencias o funciones de destino.
Añadir eventos
Para añadir eventos de CloudWatch personalizados, llame al método putEvents
del cliente AmazonCloudWatchEventsClient con un objeto PutEventsRequest que contenga uno o varios objetos PutEventsRequestEntry que proporcionen detalles sobre cada evento. Puede especificar varios parámetros para la entrada como el origen y el tipo del evento, los recursos asociados con el evento, etc.
nota
Puede especificar un máximo de 10 eventos para cada llamada a putEvents
.
Importaciones
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);
Añadir reglas
Para crear o actualizar una regla, llame al método putRule
de AmazonCloudWatchEventsClient con un objeto PutRuleRequest con el nombre de la regla y parámetros opcionales como el patrón del evento, el rol de IAM que se va a asociar a la regla y una expresión de programación que describa con qué frecuencia se ejecuta la regla.
Importaciones
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);
Añadir destinos
Los destinos son los recursos que se invocan cuando se activa una regla. Algunos destinos de ejemplo son instancias Amazon EC2, funciones Lambda, secuencias de Kinesis, tareas de Amazon ECS, máquinas de estado de Step Functions y destinos integrados.
Para añadir una regla a un destino, llame al método putTargets
de AmazonCloudWatchEventsClient con un objeto PutTargetsRequest que contenga la regla para actualizar y la lista de destinos que se van a añadir a la regla.
Importaciones
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);
Más información
-
Añadir eventos con PutEvents en la Guía del usuario del Amazon CloudWatch Events
-
Programar expresiones para reglas en la Guía del usuario del Amazon CloudWatch Events
-
Tipos de eventos para los eventos de CloudWatch en la Guía del usuario del Amazon CloudWatch Events
-
Eventos y patrones de eventos en la Guía del usuario del Amazon CloudWatch Events
-
PutEvents en la Referencia de la API de Amazon CloudWatch Events
-
PutTargets en la Referencia de la API de Amazon CloudWatch Events
-
PutRule en la Referencia de la API de Amazon CloudWatch Events