기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
CloudWatch 로그(cloudwatchLogs
) 작업은 Amazon CloudWatch Logs로 데이터를 전송합니다. batchMode
를 사용하여 하나의 메시지에 여러 디바이스 로그 레코드를 업로드하고 타임스탬프를 지정할 수 있습니다. 작업에서 데이터를 전송할 로그 그룹을 지정할 수도 있습니다.
요구 사항
이 규칙 작업은 다음 요구 사항을 충족해야 합니다.
-
가
logs:CreateLogStream
,logs:DescribeLogStreams
및logs:PutLogEvents
작업을 수행하도록 맡을 AWS IoT 수 있는 IAM 역할입니다. 자세한 내용은 AWS IoT 규칙에 필요한 액세스 권한 부여 단원을 참조하십시오.AWS IoT 콘솔에서가이 규칙 작업을 수행하도록 허용하는 역할을 선택하거나 생성할 수 AWS IoT 있습니다.
-
고객 관리형 AWS KMS key (KMS 키)를 사용하여 CloudWatch 로그에서 로그 데이터를 암호화하는 경우, 서비스에는 호출자를 대신하여 KMS 키를 사용할 수 있는 권한이 있어야 합니다. 자세한 내용은 Amazon Logs 사용 설명서의를 사용하여 CloudWatch 로그에서 로그 데이터 암호화 AWS KMS를 참조하세요. CloudWatch
MQTT에 대한 메시지 형식 요구 사항 batchMode
CloudWatch 로그 규칙 작업을 꺼batchMode
진 상태로 사용하는 경우 MQTT 메시지 형식 지정 요구 사항이 없습니다. (참고: batchMode
파라미터의 기본값은 false
입니다.) 그러나가 batchMode
켜져 있는 상태에서 CloudWatch 로그 규칙 작업을 사용하는 경우(파라미터 값은 임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 규칙을 생성할 때 다음 정보를 지정해야 합니다.
예시
다음 JSON 예제에서는 AWS IoT 규칙에서 CloudWatch 로그 작업을 정의합니다.
{
"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
}
}
]
}
}