La AWS SDK para 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 Events ofrece un flujo casi en tiempo real de los eventos del sistema que describen los cambios en AWS los recursos en las Amazon EC2 instancias, Lambda las funciones, los Kinesis flujos, Amazon ECS las tareas, las máquinas de Step Functions estados, Amazon SNS los temas, Amazon SQS las colas o los objetivos 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 CloudWatch eventos personalizados, llama al putEvents
método AmazonCloudWatchEventsClient's con un PutEventsRequestobjeto que contenga uno o más PutEventsRequestEntryobjetos 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;
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);
Añadir reglas
Para crear o actualizar una regla, llama al putRule
método AmazonCloudWatchEventsClient's con una PutRuleRequestcon el nombre de la regla y parámetros opcionales, como el patrón de eventos, el
IAM rol que se va a asociar a la regla y una expresión de programación que describa la frecuencia con la que 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;
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);
Añadir destinos
Los destinos son los recursos que se invocan cuando se activa una regla. Los objetivos de ejemplo incluyen Amazon EC2 instancias, Lambda funciones, Kinesis transmisiones, Amazon ECS tareas, máquinas de Step Functions estado y objetivos integrados.
Para añadir un objetivo a una regla, llama al putTargets
método AmazonCloudWatchEventsClient's con una PutTargetsRequestque contenga la regla que deseas actualizar y una lista de objetivos que 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;
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);
Más información
-
Añadir eventos PutEvents en la Guía Amazon CloudWatch Events del usuario
-
Programe expresiones para las reglas en la guía Amazon CloudWatch Events del usuario
-
Tipos de CloudWatch eventos para los eventos de la guía Amazon CloudWatch Events del usuario
-
Eventos y patrones de eventos en la guía Amazon CloudWatch Events del usuario
-
PutEventsen la referencia Amazon CloudWatch Events de la API
-
PutTargetsen la referencia Amazon CloudWatch Events de la API
-
PutRuleen la referencia Amazon CloudWatch Events de la API