

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

# CloudWatch Logs
<a name="cloudwatch-logs-rule-action"></a>

CloudWatch Logs (`cloudwatchLogs`) アクションは、データを Amazon CloudWatch Logs に送信します。`batchMode` を使用して、1 つのメッセージで複数のデバイスログレコードをアップロードし、タイムスタンプを付けることができます。アクションがデータを送信するロググループを指定できます。

## 要件
<a name="cloudwatch-logs-rule-action-requirements"></a>

このルールアクションには、以下の要件があります。
+ が `logs:CreateLogStream`、、`logs:DescribeLogStreams`および `logs:PutLogEvents`オペレーションを実行するために引き受け AWS IoT ることができる IAM ロール。詳細については、「[必要なアクセスを AWS IoT ルールに付与する](iot-create-role.md)」を参照してください。

   AWS IoT コンソールで、このルールアクションを実行することを に許可 AWS IoT するロールを選択または作成できます。
+ カスタマーマネージド AWS KMS key (KMS キー) を使用して CloudWatch Logs のログデータを暗号化する場合、サービスには発信者に代わって KMS キーを使用するアクセス許可が必要です。詳しくは、*Amazon CloudWatch Logs ユーザーガイド*の[AWS KMSを使用して CloudWatch Logs のログデータを暗号化する](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/encrypt-log-data-kms.html)を参照してください。

## `batchMode` の MQTT メッセージ形式の要件
<a name="cloudwatch-logs-rule-action-message-format"></a>

`batchMode` をオフにして CloudWatch Logs ルールアクションを使用する場合、MQTT メッセージフォーマットの要件はありません。(注意: `batchMode` パラメータのデフォルト値は `false` です)。ただし、`batchMode` をオンにして、CloudWatch Logs ルールアクションを使用する場合 (パラメータ値は `true`) 、デバイス側のログを含む MQTT メッセージはタイムスタンプとメッセージペイロードを含むようにフォーマットする必要があります。**注意:** `timestamp` は、イベントの発生時刻を表し、1970 年 1 月 1 日 00:00:00 UTC からのミリ秒数で表されます。

発行形式の例を次に示します。

```
[
  {"timestamp": 1673520691093, "message": "Test message 1"}, 
  {"timestamp": 1673520692879, "message": "Test message 2"}, 
  {"timestamp": 1673520693442, "message": "Test message 3"}
]
```

デバイス側のログの生成方法によっては、この要件を満たすために送信する前にフィルタリングして再フォーマットする必要がある場合があります。詳細については、「[MQTT メッセージペイロード](https://docs.aws.amazon.com/iot/latest/developerguide/topicdata.html)」を参照してください。

`batchMode` パラメータに関係なく、`message`コンテンツは AWS IoT メッセージサイズの制限に準拠する必要があります。詳細については、「[AWS IoT Core エンドポイントとクォータ](https://docs.aws.amazon.com/general/latest/gr/iot-core.html)」を参照してください。

## パラメータ
<a name="cloudwatch-logs-rule-action-parameters"></a>

このアクションで AWS IoT ルールを作成するときは、次の情報を指定する必要があります。

`logGroupName`  
アクションがデータを送信する CloudWatch ロググループ。  
[置換テンプレート](iot-substitution-templates.md)をサポート: API および AWS CLI のみ

`roleArn`  
CloudWatch ロググループへのアクセスを許可する IAM ロール。詳細については、「[要件](#cloudwatch-logs-rule-action-requirements)」を参照してください。  
[置換テンプレート](iot-substitution-templates.md)をサポート: いいえ

(オプション) `batchMode`  
 ログレコードのバッチを抽出して CloudWatch にアップロードするかどうかを示します。値には `true`または `false` (デフォルト) が含まれます。詳細については、「[要件](#cloudwatch-logs-rule-action-requirements)」を参照してください。  
[置換テンプレート](iot-substitution-templates.md)をサポート: いいえ

## 例
<a name="cloudwatch-logs-rule-action-examples"></a>

次の JSON 例では、 AWS IoT ルールで CloudWatch Logs アクションを定義します。

```
{
    "topicRulePayload": {
        "sql": "SELECT * FROM 'some/topic'", 
        "ruleDisabled": false, 
        "awsIotSqlVersion": "2016-03-23",
        "actions": [
            {
                "cloudwatchLogs": {
                    "logGroupName": "IotLogs",
                    "roleArn": "arn:aws:iam::123456789012:role/aws_iot_cw",
                    "batchMode": false                    
                }
            }
        ]
    }
}
```

## 関連情報
<a name="cloudwatch-logs-rule-action-see-also"></a>
+ *Amazon CloudWatch Logs ユーザーガイド*の「[Amazon CloudWatch Logs とは](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/)」