Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Verwenden von Amazon CloudWatch Events
CloudWatch Ereignisse bieten einen Stream von Systemereignissen in nahezu Echtzeit, der Änderungen an AWS Ressourcen an Amazon EC2 Instances, Lambda Funktionen, Kinesis Streams, Amazon ECS Aufgaben, Step Functions Zustandsmaschinen, Amazon SNS Themen, Amazon SQS Warteschlangen oder integrierten Zielen beschreibt. Sie können Ereignisse zuordnen und sie zu einer oder mehreren Zielfunktionen oder Streams umleiten, indem Sie einfache Regeln nutzen.
Amazon EventBridge ist die Entwicklung von CloudWatch Events. Beide Services verwenden dieselbe API, sodass Sie weiterhin den vom SDK bereitgestellten CloudWatch Events-Client
Hinzufügen von Ereignissen
Um benutzerdefinierte CloudWatch Ereignisse hinzuzufügen, rufen Sie die -CloudWatchEventsClient’s
putEvents
Methode mit einem PutEventsRequest
PutEventsRequestEntry
Anmerkung
Sie können maximal 10 Ereignisse pro Aufruf von putEvents
angeben.
Importe
import software.amazon.awssdk.services.cloudwatch.model.CloudWatchException; import software.amazon.awssdk.services.cloudwatchevents.CloudWatchEventsClient; import software.amazon.awssdk.services.cloudwatchevents.model.PutEventsRequest; import software.amazon.awssdk.services.cloudwatchevents.model.PutEventsRequestEntry;
Code
public static void putCWEvents(CloudWatchEventsClient cwe, String resourceArn ) { try { final String EVENT_DETAILS = "{ \"key1\": \"value1\", \"key2\": \"value2\" }"; PutEventsRequestEntry requestEntry = PutEventsRequestEntry.builder() .detail(EVENT_DETAILS) .detailType("sampleSubmitted") .resources(resourceArn) .source("aws-sdk-java-cloudwatch-example") .build(); PutEventsRequest request = PutEventsRequest.builder() .entries(requestEntry) .build(); cwe.putEvents(request); System.out.println("Successfully put CloudWatch event"); } catch (CloudWatchException e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } }
Sehen Sie sich das vollständige Beispiel
Hinzufügen von Regeln
Um eine Regel zu erstellen oder zu aktualisieren, rufen Sie die CloudWatchEventsClient’s
putRule
Methode mit einem PutRuleRequest
Importe
import software.amazon.awssdk.services.cloudwatch.model.CloudWatchException; import software.amazon.awssdk.services.cloudwatchevents.CloudWatchEventsClient; import software.amazon.awssdk.services.cloudwatchevents.model.PutRuleRequest; import software.amazon.awssdk.services.cloudwatchevents.model.PutRuleResponse; import software.amazon.awssdk.services.cloudwatchevents.model.RuleState;
Code
public static void putCWRule(CloudWatchEventsClient cwe, String ruleName, String roleArn) { try { PutRuleRequest request = PutRuleRequest.builder() .name(ruleName) .roleArn(roleArn) .scheduleExpression("rate(5 minutes)") .state(RuleState.ENABLED) .build(); PutRuleResponse response = cwe.putRule(request); System.out.printf( "Successfully created CloudWatch events rule %s with arn %s", roleArn, response.ruleArn()); } catch ( CloudWatchException e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } }
Sehen Sie sich das vollständige Beispiel
Hinzufügen von Zielen
Ziele sind die Ressourcen, die beim Auslösen einer Regel aufgerufen werden. Beispiele für Ziele sind Amazon EC2 Instances, Lambda Funktionen, Kinesis Streams, Amazon ECS Aufgaben, Step Functions Zustandsautomaten und integrierte Ziele.
Um einer Regel ein Ziel hinzuzufügen, rufen Sie die CloudWatchEventsClient’s
putTargets
Methode mit einem auf, der die zu aktualisierende Regel PutTargetsRequest
Importe
import software.amazon.awssdk.services.cloudwatch.model.CloudWatchException; import software.amazon.awssdk.services.cloudwatchevents.CloudWatchEventsClient; import software.amazon.awssdk.services.cloudwatchevents.model.PutTargetsRequest; import software.amazon.awssdk.services.cloudwatchevents.model.PutTargetsResponse; import software.amazon.awssdk.services.cloudwatchevents.model.Target;
Code
public static void putCWTargets(CloudWatchEventsClient cwe, String ruleName, String functionArn, String targetId ) { try { Target target = Target.builder() .arn(functionArn) .id(targetId) .build(); PutTargetsRequest request = PutTargetsRequest.builder() .targets(target) .rule(ruleName) .build(); PutTargetsResponse response = cwe.putTargets(request); System.out.printf( "Successfully created CloudWatch events target for rule %s", ruleName); } catch (CloudWatchException e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } }
Sehen Sie sich das vollständige Beispiel
Weitere Informationen
-
Hinzufügen von Ereignissen mit PutEvents im Amazon EventBridge -Benutzerhandbuch
-
Planen von Ausdrücken für Regeln im Amazon EventBridge -Benutzerhandbuch
-
Ereignistypen für CloudWatch Events im Amazon EventBridge -Benutzerhandbuch
-
Ereignismuster im Amazon EventBridge -Benutzerhandbuch
-
PutEvents in der Amazon EventBridge -API-Referenz zu
-
PutTargets in der Amazon EventBridge -API-Referenz zu
-
PutRule in der Amazon EventBridge -API-Referenz zu