Gunakan CloudWatch Acara Amazon - AWS SDK for Java 2.x

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Gunakan CloudWatch Acara Amazon

CloudWatch Acara memberikan aliran peristiwa sistem yang mendekati real-time yang menggambarkan perubahan AWS sumber daya ke Amazon EC2 instance, Lambda fungsi, Kinesis aliran, Amazon ECS tugas, mesin Step Functions status, Amazon SNS topik, Amazon SQS antrian, atau target bawaan. Anda dapat mencocokkan acara dan meruteknya ke satu atau beberapa fungsi atau aliran target dengan menggunakan aturan sederhana.

Amazon EventBridge adalah evolusi dari CloudWatch Peristiwa. Kedua layanan menggunakan API yang sama, sehingga Anda dapat terus menggunakan klien CloudWatch Acara yang disediakan oleh SDK atau bermigrasi ke fungsionalitas SDK untuk EventBridge klien Java untuk CloudWatch Acara. CloudWatch Dokumentasi Panduan Pengguna Acara dan referensi API sekarang tersedia melalui situs EventBridge dokumentasi.

Tambahkan acara

Untuk menambahkan CloudWatch peristiwa khusus, panggil CloudWatchEventsClient’s putEvents metode dengan PutEventsRequestobjek yang berisi satu atau beberapa PutEventsRequestEntryobjek yang memberikan detail tentang setiap peristiwa. Anda dapat menentukan beberapa parameter untuk entri seperti sumber dan jenis acara, sumber daya yang terkait dengan acara, dan sebagainya.

catatan

Anda dapat menentukan maksimum 10 acara per panggilan keputEvents.

Impor

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;

Kode

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); } }

Lihat contoh lengkapnya di GitHub.

Tambahkan aturan

Untuk membuat atau memperbarui aturan, panggil CloudWatchEventsClient’s putRule metode PutRuleRequestdengan nama aturan dan parameter opsional seperti pola acara, IAM peran untuk dikaitkan dengan aturan, dan ekspresi penjadwalan yang menjelaskan seberapa sering aturan dijalankan.

Impor

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;

Kode

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); } }

Lihat contoh lengkapnya di GitHub.

Tambahkan target

Target adalah sumber daya yang dipanggil ketika suatu aturan dipicu. Contoh target termasuk Amazon EC2 instance, Lambda fungsi, Kinesis aliran, Amazon ECS tugas, mesin Step Functions status, dan target bawaan.

Untuk menambahkan target ke aturan, panggil CloudWatchEventsClient’s putTargets metode dengan PutTargetsRequestberisi aturan untuk diperbarui dan daftar target untuk ditambahkan ke aturan.

Impor

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;

Kode

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); } }

Lihat contoh lengkapnya di GitHub.

Informasi lain