本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
为 OTA 更新设置 CloudWatch 日志
OTA 更新服务支持使用亚马逊登录 CloudWatch。您可以使用Amazon IoT控制台启用和配置 OTA 更新的 Amazon CloudWatch 日志记录。有关更多信息,请参阅 Cloudwatch Logs。
要启用日志记录,您必须创建 IAM 角色并配置 OTA 更新日志记录。
在启用 OTA 更新日志记录之前,请务必了解 CloudWatch 日志访问权限。拥有 L CloudWatch ogs 访问权限的用户可以看到您的调试信息。有关信息,请参阅 Amazon CloudWatch Logs 的身份验证和访问控制。
创建日志记录角色并启用日志记录
可以使用 Amazon IoT 控制台
-
从导航窗格中,选择 Settings (设置)。
-
在 Logs (日志) 下,选择 Edit (编辑)。
-
在 Level of verbosity (详细程度级别) 下,选择 Debug (调试)。
-
在 “设置角色” 下,选择 “新建” 以创建用于记录的 IAM 角色。
-
在 Name (名称) 下,为角色输入唯一名称。将创建具备所有必需权限的角色。
-
选择 Update(更新)。
OTA 更新日志
当发生以下任一情况时,OTA 更新服务将日志发布到账户:
-
创建 OTA 更新。
-
OTA 更新已完成。
-
创建代码签名作业。
-
代码签名作业已完成。
-
创建 Amazon IoT 作业。
-
Amazon IoT 作业已完成。
-
创建流。
可以在 CloudWatch 控制台
在 CloudWatch 日志中查看 OTA 更新
-
从导航窗格中,选择 Logs (日志)。
-
在日志组中,选择 AWSIoTLogsV2。
OTA 更新日志可以包含以下属性:
- accountId
-
生成日志的Amazon账户 ID。
- actionType
-
生成日志的操作。可以设置为以下值之一:
-
CreateOTAUpdate
:已创建 OTA 更新。 -
DeleteOTAUpdate
:已删除 OTA 更新。 -
StartCodeSigning
:已启动代码签名作业。 -
CreateAWSJob
:已创建 Amazon IoT 作业。 -
CreateStream
:已创建流。 -
GetStream
:流媒体请求已发送到Amazon IoT基于 MQTT 的文件传输功能。 -
DescribeStream
:已向Amazon IoT基于 MQTT 的文件传输功能发送了有关直播信息的请求。
-
- awsJobId
-
生成日志的 Amazon IoT 作业 ID。
- clientId
-
发出生成日志请求的 MQTT 客户端 ID。
- clientToken
-
与生成日志请求关联的客户端令牌。
- details
-
有关生成日志的操作的更多信息。
- logLevel
-
日志的日志记录级别。对于 OTA 更新日志,该属性始终设置为
DEBUG
。 - otaUpdateId
-
生成日志的 OTA 更新的 ID。
- protocol
-
用于发出生成日志请求的协议。
- 状态
-
生成日志操作的状态。有效值为:
-
成功
-
失败
-
- streamId
-
生成日志的 Amazon IoT 流 ID。
- timestamp
-
日志生成的时间。
- topicName
-
用于发出生成日志请求的 MQTT 主题。
日志示例
以下是启动代码签名作业时生成的日志示例:
{ "timestamp": "2018-07-23 22:59:44.955", "logLevel": "DEBUG", "accountId": "123456789012", "status": "Success", "actionType": "StartCodeSigning", "otaUpdateId": "08957b03-eea3-448a-87fe-743e6891ca3a", "details": "Start code signing job. The request status is SUCCESS." }
以下是创建 Amazon IoT 作业时生成的日志示例:
{ "timestamp": "2018-07-23 22:59:45.363", "logLevel": "DEBUG", "accountId": "123456789012", "status": "Success", "actionType": "CreateAWSJob", "otaUpdateId": "08957b03-eea3-448a-87fe-743e6891ca3a", "awsJobId": "08957b03-eea3-448a-87fe-743e6891ca3a", "details": "Create Amazon Job The request status is SUCCESS." }
以下是创建 OTA 更新时生成的日志示例:
{ "timestamp": "2018-07-23 22:59:45.413", "logLevel": "DEBUG", "accountId": "123456789012", "status": "Success", "actionType": "CreateOTAUpdate", "otaUpdateId": "08957b03-eea3-448a-87fe-743e6891ca3a", "details": "OTAUpdate creation complete. The request status is SUCCESS." }
以下是创建流时生成的日志示例:
{ "timestamp": "2018-07-23 23:00:26.391", "logLevel": "DEBUG", "accountId": "123456789012", "status": "Success", "actionType": "CreateStream", "otaUpdateId": "3d3dc5f7-3d6d-47ac-9252-45821ac7cfb0", "streamId": "6be2303d-3637-48f0-ace9-0b87b1b9a824", "details": "Create stream. The request status is SUCCESS." }
以下是删除 OTA 更新时生成的日志示例:
{ "timestamp": "2018-07-23 23:03:09.505", "logLevel": "DEBUG", "accountId": "123456789012", "status": "Success", "actionType": "DeleteOTAUpdate", "otaUpdateId": "9bdd78fb-f113-4001-9675-1b595982292f", "details": "Delete OTA Update. The request status is SUCCESS." }
以下是设备从基于 MQTT 的文件传输功能请求流时生成的示例日志:
{ "timestamp": "2018-07-25 22:09:02.678", "logLevel": "DEBUG", "accountId": "123456789012", "status": "Success", "actionType": "GetStream", "protocol": "MQTT", "clientId": "b9d2e49c-94fe-4ed1-9b07-286afed7e4c8", "topicName": "$aws/things/b9d2e49c-94fe-4ed1-9b07-286afed7e4c8/streams/1e51e9a8-9a4c-4c50-b005-d38452a956af/get/json", "streamId": "1e51e9a8-9a4c-4c50-b005-d38452a956af", "details": "The request status is SUCCESS." }
以下是设备调用 DescribeStream
API 时生成的日志示例:
{ "timestamp": "2018-07-25 22:10:12.690", "logLevel": "DEBUG", "accountId": "123456789012", "status": "Success", "actionType": "DescribeStream", "protocol": "MQTT", "clientId": "581075e0-4639-48ee-8b94-2cf304168e43", "topicName": "$aws/things/581075e0-4639-48ee-8b94-2cf304168e43/streams/71c101a8-bcc5-4929-9fe2-af563af0c139/describe/json", "streamId": "71c101a8-bcc5-4929-9fe2-af563af0c139", "clientToken": "clientToken", "details": "The request status is SUCCESS." }