

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 诊断影子问题
<a name="diagnosing-shadows"></a>

**帮助我们改进此主题**  
 [告诉我们如何优化内容](https://docs.aws.amazon.com//forms/aws-doc-feedback?hidden_service_name=IoT%20Docs&topic_url=http://docs.aws.amazon.com/en_us/iot/latest/developerguide/diagnosing-shadows.html) 


**诊断影子**  

| 问题 | 故障排除指南 | 
| --- | --- | 
| 设备的影子文档被拒绝，并显示 Invalid JSON document。 | 如果您不熟悉 JSON，请修改本指南中提供的示例，以供您自己使用。有关更多信息，请参阅 [影子文档示例](device-shadow-document.md#device-shadow-document-syntax)。 | 
| 我提交了正确的 JSON，但设备的影子文档中没有存储其中的任何内容或仅存储了一部分。 | 请确保您遵循了以下 JSON 格式指南。仅存储 desired 和 reported 部分中的 JSON 字段。这些部分以外的 JSON 内容（即使格式正确）将被忽略。 | 
| 我收到一条错误消息，称设备的影子超出了允许的大小。 | 设备的影子仅支持 8KB 数据。请尝试缩短您的 JSON 文档中的字段名称，也可以通过创建更多事物来创建更多影子。一台设备可以有无限数量的 things/shadows 与之关联的。唯一的要求是，您账户中的每个事物名称都必须是唯一的。 | 
| 我收到了一个超过 8KB 的设备的影子。这是怎么回事？ | 收到后，该 AWS IoT 服务会将元数据添加到设备的影子中。该服务将此类数据添加到其响应中，但此类数据不会计入 8KB 的限制中。只有发送到设备的影子的状态文档中有关 desired 状态和 reported 状态的数据才会计入到此限制中。 | 
| 我的请求由于版本错误而被拒绝了。我应该怎么办？ | 执行 GET 操作，以同步至最新的状态文档版本。使用 MQTT 时，请订阅 ./update/accepted 主题，这样您便会收到有关状态更改的通知以及最新版本的 JSON 文档。 | 
| 时间戳关闭了几秒钟。 | 当 AWS IoT 服务收到文档或状态文档发布到上时，会更新各个字段和整个 JSON 文档的时间戳。 /update/accepted and ./update/delta消息。消息可能会由于网络发生延迟，从而导致时间戳关闭几秒钟。 | 
| 我的设备可以在相应的影子主题下发布消息并订阅这些主题，但当我尝试通过 HTTP REST API 更新影子文档时，我收到了 HTTP 403 错误消息。 | 请确保您已在 IAM 中创建策略，以允许访问这些主题以及对您正在使用的证书执行相应的操作 (UPDATE/GET/DELETE)。IAM 策略和证书策略是相互独立的。 | 
| 其它问题。 | Device Shadow 服务将错误 CloudWatch 记录到日志中。要识别设备和配置问题，请启用 CloudWatch 日志并查看日志以获取调试信息。 | 