

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

# 借助示例应用程序排除问题
<a name="gs-device-troubleshoot"></a>

如果您在尝试运行示例应用程序时遇到错误，请检查以下几个事项。

## 检查证书
<a name="gs-device-ts-step-1"></a>

如果证书未激活， AWS IoT 则不接受任何使用该证书进行授权的连接尝试。创建证书时，很容易忽略 **Activate**（激活）按钮。幸运的是，您可以在 [AWS IoT 控制台](https://console.aws.amazon.com/iot/home)激活您的证书。

**要检查证书的激活状态**

1. 在 [AWS IoT 控制台](https://console.aws.amazon.com/iot/home)，在左侧菜单中，选择 **Secure**（安全），然后选择 **Certificates**（证书）。

1. 在证书列表中，找到您为练习创建的证书，并在 **Status**（状态）栏查看其状态。

   如果您不记得证书的名称，请检查 **Inactive**（未激活）的证书以查看其中是否包含是您正在使用的。

   在列表中选择相应证书以打开其详细信息页面。在详细信息页面中，您可以看到其 **Create date**（创建日期）以帮助您识别证书。

1. **要激活未激活的证书**，请在证书详细信息页面上，选择 **Actions**（操作），然后选择 **Activate**（激活）。

如果找到了正确的证书且其处于激活状态，但运行示例应用程序时仍遇到了问题，请按照下一步所述检查其策略。

您还可以按照 [创建一个事物对象](create-iot-resources.md#create-aws-thing) 中所述的步骤尝试创建新事物和新证书。如果您创建了一个新事物，则需要为其指定新事物名称并将新证书文件下载到您的设备上。

## 检查附加到证书上的策略。
<a name="gs-device-ts-step-2"></a>

策略授权中的操作 AWS IoT。如果用于连接 AWS IoT 的证书没有策略，或者没有允许其连接的策略，则连接将被拒绝，即使证书处于激活状态。

**要检查附加到证书的策略**

1. 查找上一项中所述的证书，然后打开其详细信息页面。

1. 在证书详细信息页面的左侧菜单中，选择 **Policies**（策略）以查看附加到证书的策略。

1. 如果证书没有附加策略，请选择 **Actions**（操作）菜单，然后选择 **Attach policy**（附加策略）。

   选择您之前在 [创建 AWS IoT 资源](create-iot-resources.md) 中创建的策略。

1. 如果附加了策略，请选择策略磁贴以打开其详细信息页面。

   在详细信息页面上，查看 **Policy document**（策略文档），以确保它包含与您在 [创建 AWS IoT 策略](create-iot-resources.md#create-iot-policy) 中创建的策略相同的信息。

## 检查命令行
<a name="gs-device-ts-step-3"></a>

请确保为您的系统使用了正确的命令行。Linux 和 macOS 系统上使用的命令通常与在 Windows 系统上使用的命令不同。

## 检查端点地址
<a name="gs-device-ts-step-4"></a>

查看您输入的命令，并将命令中的端点地址对照 [AWS IoT 控制台](https://console.aws.amazon.com/iot/home)中的信息仔细检查。

## 检查证书文件的文件名
<a name="gs-device-ts-step-5"></a>

将您输入的命令中的文件名与 `certs` 目录中的证书文件的文件名进行对比。

某些系统可能要求将文件名放在引号中才能正常工作。

## 检查 SDK 安装状况
<a name="gs-device-ts-step-6"></a>

请确保您的 SDK 已正确完成安装。

如有疑问，请在设备上重新安装 SDK。在大多数情况下，只需找到教程中标题为 “**为**SDK language**其安装 AWS IoT 设备 SDK” 的**部分，然后再次执行该过程即可。

如果您使用的是的 De **AWS IoT vice SDK JavaScript**，请记得在尝试运行示例应用程序之前安装它们。安装 SDK 不会自动安装示例应用程序。示例应用程序必须在安装 SDK 后手动安装。