

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# の操作 CloudWatch
<a name="examples-cloudwatch"></a>

このセクションでは、 AWS SDK for Java 2.x を使用して [Amazon CloudWatch](https://docs.aws.amazon.com//AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) をプログラミングする例を示します。

 Amazon CloudWatch は Amazon Web Services 、 (AWS) リソースと で実行されるアプリケーションを AWS リアルタイムでモニタリングします。 CloudWatch を使用して、リソースとアプリケーションに対して測定できる変数であるメトリクスを収集および追跡できます。 CloudWatch アラームは、定義したルールに基づいて通知を送信するか、モニタリングしているリソースに自動的に変更を加えます。

次の例には各手法を示すのに必要なコードのみが含まれます。[完全なサンプルコードは GitHub で入手できます](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/javav2)。そこから、単一のソースファイルをダウンロードするかリポジトリをローカルにクローン作成して、ビルドし実行するためのすべての例を取得できます。

**Topics**
+ [からメトリクスを取得する CloudWatch](examples-cloudwatch-get-metrics.md)
+ [カスタムメトリクスデータを に発行する CloudWatch](examples-cloudwatch-publish-custom-metrics.md)
+ [CloudWatch アラームの操作](examples-cloudwatch-create-alarms.md)
+ [Amazon CloudWatch Events の使用](examples-cloudwatch-send-events.md)

# からメトリクスを取得する CloudWatch
<a name="examples-cloudwatch-get-metrics"></a>

## メトリクスの一覧表示
<a name="listing-metrics"></a>

 CloudWatch メトリクスを一覧表示するには、[ListMetricsRequest](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/cloudwatch/model/ListMetricsRequest.html) を作成し、CloudWatchClient の `listMetrics`メソッドを呼び出します。`ListMetricsRequest` を使用して、名前空間、メトリクス名、またはディメンションで返されたメトリクスをフィルタリングできます。

**注記**  
 AWS サービスによって投稿されるメトリクスとディメンションのリストは、 Amazon CloudWatch 「 ユーザーガイド」の[Amazon CloudWatch 「メトリクスとディメンションのリファレンス](https://docs.aws.amazon.com//AmazonCloudWatch/latest/monitoring/aws-services-cloudwatch-metrics.html)」に記載されています。

 **インポート** 

```
import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.services.cloudwatch.CloudWatchClient;
import software.amazon.awssdk.services.cloudwatch.model.CloudWatchException;
import software.amazon.awssdk.services.cloudwatch.model.ListMetricsRequest;
import software.amazon.awssdk.services.cloudwatch.model.ListMetricsResponse;
import software.amazon.awssdk.services.cloudwatch.model.Metric;
```

 **[コード]** 

```
    public static void listMets( CloudWatchClient cw, String namespace) {

        boolean done = false;
        String nextToken = null;

        try {
            while(!done) {

                ListMetricsResponse response;

                if (nextToken == null) {
                   ListMetricsRequest request = ListMetricsRequest.builder()
                        .namespace(namespace)
                        .build();

                 response = cw.listMetrics(request);
                } else {
                  ListMetricsRequest request = ListMetricsRequest.builder()
                        .namespace(namespace)
                        .nextToken(nextToken)
                        .build();

                response = cw.listMetrics(request);
            }

            for (Metric metric : response.metrics()) {
                System.out.printf(
                        "Retrieved metric %s", metric.metricName());
                System.out.println();
            }

            if(response.nextToken() == null) {
                done = true;
            } else {
                nextToken = response.nextToken();
            }
        }

        } catch (CloudWatchException e) {
            System.err.println(e.awsErrorDetails().errorMessage());
            System.exit(1);
        }
    }
```

このメトリクスは、[ メソッドを呼び出すことによって ](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/cloudwatch/model/ListMetricsResponse.html)ListMetricsResponse`getMetrics` で返ります。

結果は*ページ分割される*場合があります。結果の次のバッチを取得するには、レスポンスオブジェクトの `nextToken` を呼び出し、そのトークン値を使用して、新しいリクエストオブジェクトをビルドします。次に、`listMetrics` メソッドを新しいリクエストで再度呼び出します。

[GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/blob/f4eaf2b2971805cfb2b87a8e5ab408f83169432e/javav2/example_code/cloudwatch/src/main/java/com/example/cloudwatch/ListMetrics.java) で完全な例をご覧ください。

## 詳細情報
<a name="more-information"></a>
+  Amazon CloudWatch API リファレンスの [ListMetrics](https://docs.aws.amazon.com//AmazonCloudWatch/latest/APIReference/API_ListMetrics.html) 

# カスタムメトリクスデータを に発行する CloudWatch
<a name="examples-cloudwatch-publish-custom-metrics"></a>

多くの AWS サービスは、`AWS`「」で始まる名前空間に[独自のメトリクス](https://docs.aws.amazon.com//AmazonCloudWatch/latest/monitoring/aws-services-cloudwatch-metrics.html)を発行します。独自の名前空間を使用してカスタムメトリクスデータを発行することもできます (「」で始まらない場合)`AWS`。

## カスタムメトリクスデータのパブリッシュ
<a name="cwid1"></a>

独自のメトリクスデータを発行するには、CloudWatchClient の `putMetricData` メソッドを [PutMetricDataRequest](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/cloudwatch/model/PutMetricDataRequest.html) で呼び出します。`PutMetricDataRequest` には、データ用に使用するカスタム名前空間と、[MetricDatum](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/cloudwatch/model/MetricDatum.html) オブジェクト内のデータポイント自体に関する情報が含まれている必要があります。

**注記**  
「`AWS`」で始まる名前空間を指定することはできません。`AWS` 「」で始まる名前空間は、 Amazon Web Services 製品での使用のために予約されています。

 **インポート** 

```
import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.services.cloudwatch.CloudWatchClient;
import software.amazon.awssdk.services.cloudwatch.model.Dimension;
import software.amazon.awssdk.services.cloudwatch.model.MetricDatum;
import software.amazon.awssdk.services.cloudwatch.model.StandardUnit;
import software.amazon.awssdk.services.cloudwatch.model.PutMetricDataRequest;
import software.amazon.awssdk.services.cloudwatch.model.CloudWatchException;
import java.time.Instant;
import java.time.ZoneOffset;
import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;
```

 **コード** 

```
    public static void putMetData(CloudWatchClient cw, Double dataPoint ) {

        try {
            Dimension dimension = Dimension.builder()
                    .name("UNIQUE_PAGES")
                    .value("URLS")
                    .build();

            // Set an Instant object
            String time = ZonedDateTime.now( ZoneOffset.UTC ).format( DateTimeFormatter.ISO_INSTANT );
            Instant instant = Instant.parse(time);

            MetricDatum datum = MetricDatum.builder()
                .metricName("PAGES_VISITED")
                .unit(StandardUnit.NONE)
                .value(dataPoint)
                .timestamp(instant)
                .dimensions(dimension).build();

            PutMetricDataRequest request = PutMetricDataRequest.builder()
                .namespace("SITE/TRAFFIC")
                .metricData(datum).build();

            cw.putMetricData(request);

        } catch (CloudWatchException e) {
            System.err.println(e.awsErrorDetails().errorMessage());
            System.exit(1);
        }
        System.out.printf("Successfully put data point %f", dataPoint);
     }
```

[GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/blob/f4eaf2b2971805cfb2b87a8e5ab408f83169432e/javav2/example_code/cloudwatch/src/main/java/com/example/cloudwatch/PutMetricData.java) で完全な例をご覧ください。

## 詳細情報
<a name="more-information"></a>
+  [「 ユーザーガイド」の「 Amazon CloudWatch メトリクス](https://docs.aws.amazon.com//AmazonCloudWatch/latest/monitoring/working_with_metrics.html)」を使用します。 Amazon CloudWatch 
+  Amazon CloudWatch ユーザーガイド[AWS の名前空間](https://docs.aws.amazon.com//AmazonCloudWatch/latest/monitoring/aws-services-cloudwatch-metrics.html)。
+  Amazon CloudWatch API リファレンスの [PutMetricData](https://docs.aws.amazon.com//AmazonCloudWatch/latest/APIReference/API_PutMetricData.html)。

# CloudWatch アラームの操作
<a name="examples-cloudwatch-create-alarms"></a>

## アラームの作成
<a name="create-an-alarm"></a>

 CloudWatch メトリクスに基づいてアラームを作成するには、アラーム条件が満たされた [PutMetricAlarmRequest](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/cloudwatch/model/PutMetricAlarmRequest.html) を使用して CloudWatchClient の `putMetricAlarm`メソッドを呼び出します。

 **インポート** 

```
import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.services.cloudwatch.CloudWatchClient;
import software.amazon.awssdk.services.cloudwatch.model.Dimension;
import software.amazon.awssdk.services.cloudwatch.model.PutMetricAlarmRequest;
import software.amazon.awssdk.services.cloudwatch.model.ComparisonOperator;
import software.amazon.awssdk.services.cloudwatch.model.Statistic;
import software.amazon.awssdk.services.cloudwatch.model.StandardUnit;
import software.amazon.awssdk.services.cloudwatch.model.CloudWatchException;
```

 **Code** 

```
    public static void putMetricAlarm(CloudWatchClient cw, String alarmName, String instanceId) {

        try {
            Dimension dimension = Dimension.builder()
                .name("InstanceId")
                .value(instanceId).build();

            PutMetricAlarmRequest request = PutMetricAlarmRequest.builder()
                .alarmName(alarmName)
                .comparisonOperator(
                        ComparisonOperator.GREATER_THAN_THRESHOLD)
                .evaluationPeriods(1)
                .metricName("CPUUtilization")
                .namespace("AWS/EC2")
                .period(60)
                .statistic(Statistic.AVERAGE)
                .threshold(70.0)
                .actionsEnabled(false)
                .alarmDescription(
                        "Alarm when server CPU utilization exceeds 70%")
                .unit(StandardUnit.SECONDS)
                .dimensions(dimension)
                .build();

            cw.putMetricAlarm(request);
            System.out.printf(
                    "Successfully created alarm with name %s", alarmName);

        } catch (CloudWatchException e) {
            System.err.println(e.awsErrorDetails().errorMessage());
            System.exit(1);
        }
    }
```

[GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/blob/f4eaf2b2971805cfb2b87a8e5ab408f83169432e/javav2/example_code/cloudwatch/src/main/java/com/example/cloudwatch/PutMetricAlarm.java) で完全な例をご覧ください。

## アラームの一覧表示
<a name="list-alarms"></a>

作成した CloudWatch アラームを一覧表示するには、CloudWatchClient の `describeAlarms`メソッドを [DescribeAlarmsRequest](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/cloudwatch/model/DescribeAlarmsRequest.html) で呼び出します。これを使用して、結果のオプションを設定できます。

 **インポート** 

```
import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.services.cloudwatch.CloudWatchClient;
import software.amazon.awssdk.services.cloudwatch.model.CloudWatchException;
import software.amazon.awssdk.services.cloudwatch.model.DescribeAlarmsRequest;
import software.amazon.awssdk.services.cloudwatch.model.DescribeAlarmsResponse;
import software.amazon.awssdk.services.cloudwatch.model.MetricAlarm;
```

 **[コード]** 

```
    public static void desCWAlarms( CloudWatchClient cw) {

        try {

            boolean done = false;
            String newToken = null;

            while(!done) {
                DescribeAlarmsResponse response;

                if (newToken == null) {
                    DescribeAlarmsRequest request = DescribeAlarmsRequest.builder().build();
                    response = cw.describeAlarms(request);
                } else {
                    DescribeAlarmsRequest request = DescribeAlarmsRequest.builder()
                        .nextToken(newToken)
                        .build();
                    response = cw.describeAlarms(request);
                }

                for(MetricAlarm alarm : response.metricAlarms()) {
                    System.out.printf("\n Retrieved alarm %s", alarm.alarmName());
                }

                if(response.nextToken() == null) {
                    done = true;
                } else {
                    newToken = response.nextToken();
                }
            }

        } catch (CloudWatchException e) {
            System.err.println(e.awsErrorDetails().errorMessage());
            System.exit(1);
        }
        System.out.printf("Done");
    }
```

`describeAlarms` よって返された [DescribeAlarmsResponse](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/cloudwatch/model/DescribeAlarmsResponse.html) の `MetricAlarms` を呼び出することで、アラームのリストを取得できます。

結果は*ページ分割される*場合があります。結果の次のバッチを取得するには、レスポンスオブジェクトの `nextToken` を呼び出し、そのトークン値を使用して、新しいリクエストオブジェクトをビルドします。次に、`describeAlarms` メソッドを新しいリクエストで再度呼び出します。

**注記**  
また、特定のメトリクスのアラームを取得するには、CloudWatchClient の `describeAlarmsForMetric` メソッドを使用します。使用方法は `describeAlarms` と同様です。

[GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/blob/f4eaf2b2971805cfb2b87a8e5ab408f83169432e/javav2/example_code/cloudwatch/src/main/java/com/example/cloudwatch/DescribeAlarms.java) で完全な例をご覧ください。

## アラームの削除
<a name="delete-alarms"></a>

 CloudWatch アラームを削除するには、削除するアラームの 1 つ以上の名前を含む [DeleteAlarmsRequest](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/cloudwatch/model/DeleteAlarmsRequest.html) を使用して CloudWatchClient の `deleteAlarms`メソッドを呼び出します。

 **インポート** 

```
import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.services.cloudwatch.CloudWatchClient;
import software.amazon.awssdk.services.cloudwatch.model.CloudWatchException;
import software.amazon.awssdk.services.cloudwatch.model.DeleteAlarmsRequest;
```

 **Code** 

```
    public static void deleteCWAlarm(CloudWatchClient cw, String alarmName) {

        try {
            DeleteAlarmsRequest request = DeleteAlarmsRequest.builder()
                    .alarmNames(alarmName)
                    .build();

            cw.deleteAlarms(request);
            System.out.printf("Successfully deleted alarm %s", alarmName);

        } catch (CloudWatchException e) {
            System.err.println(e.awsErrorDetails().errorMessage());
            System.exit(1);
        }
    }
```

[GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/blob/f4eaf2b2971805cfb2b87a8e5ab408f83169432e/javav2/example_code/cloudwatch/src/main/java/com/example/cloudwatch/DeleteAlarm.java) で完全な例をご覧ください。

## 詳細情報
<a name="more-information"></a>
+  Amazon CloudWatch ユーザーガイドの[Amazon CloudWatch アラームの使用](https://docs.aws.amazon.com//AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html) 
+  Amazon CloudWatch API リファレンスの [PutMetricAlarm](https://docs.aws.amazon.com//AmazonCloudWatch/latest/APIReference/API_PutMetricAlarm.html) 
+  Amazon CloudWatch API リファレンスの [DescribeAlarms](https://docs.aws.amazon.com//AmazonCloudWatch/latest/APIReference/API_DescribeAlarms.html) 
+  Amazon CloudWatch API リファレンスの [DeleteAlarms](https://docs.aws.amazon.com//AmazonCloudWatch/latest/APIReference/API_DeleteAlarms.html) 

# Amazon CloudWatch Events の使用
<a name="examples-cloudwatch-send-events"></a>

 CloudWatch Events は、 AWS リソースの変更を記述するシステムイベントのほぼリアルタイムのストリームを、 Amazon EC2 インスタンス、 Lambda 関数、 Kinesis ストリーム、 Amazon ECS タスク、 Step Functions ステートマシン、 Amazon SNS トピック、 Amazon SQS キュー、または組み込みターゲットに配信します。簡単なルールを使用して、一致したイベントを 1 つ以上のターゲット関数またはストリームに振り分けることができます。

Amazon EventBridge は、Amazon CloudWatch Events の[進化形](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-cwe-now-eb.html)です。どちらのサービスも同じ API を使用するため、SDK が提供する [CloudWatch Events クライアント](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/cloudwatch/CloudWatchClient.html)を引き続き使用することも、SDK for Java の [EventBridge クライアント](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/eventbridge/EventBridgeClient.html)に移行して CloudWatch Events 機能を使用することもできます。CloudWatch Events の[ユーザーガイドドキュメント](https://docs.aws.amazon.com/eventbridge/latest/userguide/index.html)と [API リファレンス](https://docs.aws.amazon.com/eventbridge/latest/APIReference/index.html)が、EventBridge ドキュメントサイトから利用可能になりました。

## イベントの追加
<a name="add-events"></a>

カスタム CloudWatch イベントを追加するには、各イベントの詳細を提供する 1 つ以上の[https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/cloudwatchevents/model/PutEventsRequest.html](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/cloudwatchevents/model/PutEventsRequest.html)オブジェクトを含む[https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/cloudwatchevents/model/PutEventsRequestEntry.html](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/cloudwatchevents/model/PutEventsRequestEntry.html)オブジェクトを使用して `CloudWatchEventsClient’s``putEvents`メソッドを呼び出します。イベントのソースとタイプ、イベントに関連付けられたリソースなど、エントリの複数のパラメータを指定できます。

**注記**  
`putEvents` への呼び出しごとに最大 10 個のイベントを指定できます。

 **インポート** 

```
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;
```

 **コード** 

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

[GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/blob/0b1785e42949ebf959eaa0f0da4dc2a48f92ea25/javav2/example_code/cloudwatch/src/main/java/com/example/cloudwatch/PutEvents.java) で完全な例をご覧ください。

## ルールの追加
<a name="add-rules"></a>

ルールを作成または更新するには、 `CloudWatchEventsClient’s``putRule`メソッドを呼び出して、ルールの名前と[イベントパターン](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-event-patterns.html)、ルールに関連付ける IAM ロール、ルールの実行頻度を記述する[スケジューリング式](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-create-rule-schedule.html)などのオプションパラメータ[https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/cloudwatchevents/model/PutRuleRequest.html](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/cloudwatchevents/model/PutRuleRequest.html)を指定します。

 **インポート** 

```
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;
```

 **コード** 

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

[GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/blob/0b1785e42949ebf959eaa0f0da4dc2a48f92ea25/javav2/example_code/cloudwatch/src/main/java/com/example/cloudwatch/PutRule.java) で完全な例をご覧ください。

## ターゲットの追加
<a name="add-targets"></a>

ターゲットは、ルールがトリガーされたときに呼び出されるリソースです。ターゲットの例には、 Amazon EC2 インスタンス、 Lambda 関数、 Kinesis ストリーム、 Amazon ECS タスク、 Step Functions ステートマシン、組み込みターゲットなどがあります。

ルールにターゲットを追加するには、更新するルールを含む [https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/cloudwatchevents/model/PutTargetsRequest.html](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/cloudwatchevents/model/PutTargetsRequest.html) とルールに追加するターゲットのリストを使用して `CloudWatchEventsClient’s` `putTargets` メソッドを呼び出します。

 **インポート** 

```
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;
```

 **コード** 

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

[GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/blob/0b1785e42949ebf959eaa0f0da4dc2a48f92ea25/javav2/example_code/cloudwatch/src/main/java/com/example/cloudwatch/PutTargets.java) で完全な例をご覧ください。

## 詳細情報
<a name="more-information"></a>
+  「Amazon EventBridge ユーザーガイド」の「[PutEvents を使用したイベントの追加](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-putevents.html)」。
+  「Amazon EventBridge ユーザーガイド」の「[ルールのスケジュール式](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-create-rule-schedule.html#eb-create-scheduled-rule-schedule)」
+  「Amazon EventBridge ユーザーガイド」の「[CloudWatch Eventsのイベントタイプ](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-service-event.html)」
+  「Amazon EventBridge ユーザーガイド」の「[イベントパターン](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-event-patterns.html)」
+  詳細については、 Amazon EventBridge API リファレンスの「[PutEvents](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutEvents.html)」を参照してください。
+  Amazon EventBridge API リファレンスの「[PutTargets](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutTargets.html)」
+  Amazon EventBridge API リファレンスの「[PutRule](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutRule.html)」