CloudWatch ログ - AWS IoT Core

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

CloudWatch ログ

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

要件

このルールアクションには、以下の要件があります。

  • が 、logs:CreateLogStreamlogs:DescribeLogStreamsおよび logs:PutLogEventsオペレーションを実行するために引き受け AWS IoT ることができる IAM ロール。詳細については、「必要なアクセスを AWS IoT ルールに付与する」を参照してください。

    AWS IoT コンソールでは、 AWS IoT がこのルールアクションを実行することを許可するロールを選択または作成できます。

  • カスタマー管理 AWS KMS key (KMS キー) を使用して CloudWatch Logs のログデータを暗号化する場合、サービスには発信者に代わって KMS キーを使用するアクセス許可が必要です。詳細については、「Amazon CloudWatch Logs ユーザーガイド」の「 を使用してログのログデータを暗号化 AWS KMSする」を参照してください。 CloudWatch

batchMode の MQTT メッセージ形式の要件

batchMode をオフにして CloudWatch ログルールアクションを使用する場合、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 メッセージペイロード」を参照してください。

batchMode パラメータに関係なく、messageコンテンツは AWS IoT メッセージサイズの制限に準拠している必要があります。詳細については、「AWS IoT Core エンドポイントとクォータ」を参照してください。

パラメータ

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

logGroupName

アクションがデータを送信する CloudWatch ロググループ。

代替テンプレートをサポート: API および AWS CLI のみ

roleArn

CloudWatch ロググループへのアクセスを許可する IAM ロール。詳細については、「要件」を参照してください。

置換テンプレートをサポート: いいえ

(オプション) batchMode

ログレコードのバッチを抽出して にアップロードするかどうかを示します CloudWatch。値には trueまたは false (デフォルト) が含まれます。詳細については、「要件」を参照してください。

置換テンプレートをサポート: いいえ

次の 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 } } ] } }

以下も参照してください。