

 AWS Cloud9 不再向新客户提供。 AWS Cloud9 的现有客户可以继续正常使用这项服务。[了解详情](https://aws.amazon.com/blogs/devops/how-to-migrate-from-aws-cloud9-to-aws-ide-toolkits-or-aws-cloudshell/)

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

# AWS IoT 在 AWS Cloud9 IDE 中使用
<a name="iot-start"></a>

 AWS IoT 在 AWS Cloud9 IDE 中，您可以与 AWS IoT 服务进行交互，同时最大限度地减少工作流程中 AWS Cloud9断。本指南介绍如何开始使用 AWS Cloud9 IDE 中提供的 AWS IoT 服务功能。有关更多信息，请参阅 *AWS IoT 开发人员指南*中的[什么是 AWS IoT？](https://docs.aws.amazon.com/iot/latest/developerguide/what-is-aws-iot.html)

## AWS IoT 先决条件
<a name="iot-cloud9-prereq"></a>

要开始 AWS IoT 在 AWS Cloud9 IDE 中使用，请确保您的 AWS 账户 和 AWS Cloud9 设置满足所有要求。有关该 AWS IoT 服务的特定 AWS 账户 要求和 AWS 用户权限的信息，请参阅《*AWS IoT 开发人员指南》*中的 [AWS IoT Core 入门](https://docs.aws.amazon.com/iot/latest/developerguide/setting-up.html)。

## AWS IoT 事情
<a name="iot-cloud9-things"></a>

AWS IoT 连接设备 AWS 服务 和 AWS 资源。您可以使用名为 things AWS IoT 的对象将设备连接**到**。事物是特定设备或逻辑实体的表示形式。它可以是物理设备或传感器（例如，灯泡或墙壁上的开关）。有关 AWS IoT 内容的更多信息，请参阅《*AWS IoT 开发者指南》 AWS IoT*中的[使用管理设备](https://docs.aws.amazon.com/iot/latest/developerguide/iot-thing-management.html)。

### 管理 AWS IoT 事物
<a name="iot-cloud9-things-actions"></a>

 AWS Cloud9 IDE 具有多种功能，可让您的事物管理变得高效。要管理您的 AWS IoT 事物，请按照以下步骤操作：
+ [Create a thing](#thing-create)
+ [Attach a certificate to a thing](#thing-certificate-attach)
+ [Detach a certificate from a thing](#thing-certificate-detach)
+ [Delete a thing](#thing-delete)<a name="thing-create"></a>

**创建事物**

1. 在 AWS 资源管理器中，展开**物联网**服务部分。

1. 打开该**事物**的上下文（右键单击）菜单，然后选择 **Create Thing**（创建事物）。

1. 在 **Thing Name**（事物名称）字段中输入**事物**的名称，然后按照提示操作。

1. 此步骤完成后，在**Things**（事物）部分中可以看到**事物图标**后跟您指定的名称。<a name="thing-certificate-attach"></a>

**将证书附加到事物**

1. 在 AWS 资源管理器中，展开**物联网**服务部分。

1. 在 **Things**（事物）子部分中，找到您要附加证书的**事物**。

1. 打开该**事物**的上下文（右键单击）菜单，然后从上下文菜单中选择 **Attach Certificate**（附加证书）以打开输入选择器，其中提供了您的证书列表。

1. 从列表中，选择与您要附加到事物的证书相对应的**证书 ID**。

1. 此步骤完成后，即可在 AWS Explorer 中，将证书作为事物附加到的项目进行访问。<a name="thing-certificate-detach"></a>

**从事物分离证书**

1. 在 AWS 资源管理器中，展开**物联网**服务部分。

1. 在 **Things**（事物）子部分中，找到您要与之分离证书的**事物**。

1. 打开该**事物**的上下文（右键单击）菜单，然后选择 **Attach Certificate**（附加证书）。

1. 完成此步骤后，分离的证书将不再显示在 AWS 资源管理器中的事物下方。但是，仍然可以从 **Certificate**（证书）子部分访问该证书。<a name="thing-delete"></a>

**删除事物**

1. 在 AWS 资源管理器中，展开**物联网**服务部分。

1. 在 **Things**（事物）子部分中，找到您要删除的**事物**。

1. 打开该**事物**的上下文（右键单击）菜单，然后选择 **Delete Thing**（删除事物）。

1. 完成此步骤后，**Things**（事物）子部分中不再提供已删除的**事物**。
**注意**  
您只能删除没有附加证书的事物。

## AWS IoT 证书
<a name="iot-cloud9-cert"></a>

证书是用于在您的 AWS IoT 服务与设备之间创建安全连接的常用方法。X.509 证书是一个数字证书，它使用 X.509 公有密钥基础设施标准将公有密钥与证书中包含的身份相关联。有关 AWS IoT 证书的更多信息，请参阅《*AWS IoT 开发者指南》*中的[身份验证 (IoT)](https://docs.aws.amazon.com/iot/latest/developerguide/authentication.html)。

### 管理证书
<a name="iot-cloud9-cert-actions"></a>

该 AWS 工具包为您提供了多种直接从 AWS Explorer 管理 AWS IoT 证书的方法。以下步骤概述了这些方法：
+ [Create a certificate](#cert-create)
+ [Change a certificate status](#cert-status)
+ [Attach a policy to a certificate](#cert-attach-policy)
+ [Delete a certificate](#cert-delete)<a name="cert-create"></a>

**创建 AWS IoT 证书**

X.509 证书用于连接您的实例。 AWS IoT

1. 在 AWS 资源管理器中，展开 **IoT** 服务部分，然后打开（右键单击）**证书**。

1. 要打开对话框，请从上下文菜单中选择 **Create Certificate**（创建证书）。

1. 要保存 RSA 密钥对和 X.509 证书，请在本地文件系统中选择一个目录。
**注意**  
默认文件名包含证书 ID 作为前缀。
通过该服务，只会将 X.509 证书与您 AWS 账户一起存储。 AWS IoT 
您的 RSA 密钥对只能颁发一次，请在出现提示时将其保存到文件系统中的安全位置。
如果无法将证书或 key pair 保存到您的文件系统，则 AWS Toolkit 会从您的文件系统中删除该证书 AWS 账户。<a name="cert-status"></a>

**修改证书状态**

单个证书的状态显示在 AWS Explorer 中的证书 ID 旁边，可以将其设置为**激活**、**非活动**或**已撤销**。
**注意**  
您的证书需要**处于**有效状态，然后才能使用它来将设备连接到您的 AWS IoT 服务。
无论证书是之前已停用还是默认处于不活动状态，都可以激活 **inactive**（不活动）的证书。
**Revoked**（已撤销）的证书无法重新激活。

1. 在 AWS 资源管理器中，展开**物联网**服务部分。

1. 在 **Certificates**（证书）子部分中，找到要修改的证书。

1. 打开证书的上下文（右键单击）菜单，该菜单显示对该证书可用的状态更改选项。
+ 如果证书的状态为 **inactive**（不活动），选择 **activate**（激活）可将其状态更改为 **active**（活动）。
+ 如果证书的状态为 **active**（活动），选择 **deactivate**（停用）可其状态更改为 **inactive**（不活动）。
+ 如果证书的状态为 **active**（活动）或**inactive**（不活动），选择 **revoke**（撤销）可将其状态更改为 **revoked**（已撤销）。

**注意**  
如果您选择了附加到 **Things**（事物）子部分所显示事物的证书，则所有这些状态更改操作都可用。<a name="cert-attach-policy"></a>

**将 IoT 策略附加到证书**

1. 在 AWS 资源管理器中，展开**物联网**服务部分。

1. 在 **Certificates**（证书）子部分中，找到要修改的证书。

1. 打开证书的上下文（右键单击）菜单，然后选择 **Attach Policy**（附加策略）以打开输入选择器，其中提供了可用策略的列表。

1. 选择要将策略附加到的证书。

1. 完成此步骤后，您选择的策略将作为子菜单项添加到证书中。<a name="cert-detach-policy"></a>

**将 IoT 策略与证书分离**

1. 在 AWS 资源管理器中，展开**物联网**服务部分。

1. 在 **Certificates**（证书）子部分中，找到要修改的证书。

1. 展开证书并找到要分离的策略。

1. 打开策略的上下文（右键单击）菜单，然后从上下文菜单中选择 **Detach**（分离）。

1. 完成此步骤后，将无法再从您的证书访问该策略，该策略可从 **Policy**（策略）子部分获取。<a name="cert-delete"></a>

**删除证书**

1. 在 AWS 资源管理器中，展开**物联网**服务标题。

1. 在 **Certificates**（证书）子部分中，找到要删除的证书。

1. 打开证书的上下文（右键单击）菜单，然后从上下文菜单中选择 **Delete Certificate**（删除证书）。
**注意**  
无法删除已经附加到某个事物或者处于活动状态的证书。您可以删除附加了策略的证书。

## AWS IoT 政策
<a name="iot-vsctoolkit-policy"></a>

AWS IoT 核心策略是通过 JSON 文档定义的。每个文档必须包括至少一个策略语句。策略定义了 AWS IoT AWS、和您的设备如何相互交互。有关如何创建策略文档的更多信息，请参阅《AWS IoT 开发人员指南**》中的 [IoT 策略](https://docs.aws.amazon.com/iot/latest/developerguide/iot-policies.html)。

**注意**  
命名策略采取了版本控制，因此您可以回滚它们。在 AWS 资源管理器中，您的物联网策略列在 AWS IoT 服务的 “**策略**” 子部分下。您可以通过展开策略来查看策略版本。默认版本由星号（\$1）表示。

### 管理策略
<a name="iot-vsctoolkit-policy-actions"></a>

 AWS Cloud9 IDE 提供了多种管理 AWS IoT 服务策略的方法。以下是您可以直接从 VS Code 的 AWS 资源管理器中管理或修改策略的方法：
+ [Create a policy](#policy-create)
+ [Upload a new policy version](#policy-version-upload)
+ [Edit a policy version](#policy-version-edit)
+ [Change the policy version defualt](#policy-version-default)
+ [Change the policy version defualt](#policy-delete)<a name="policy-create"></a>

**创建 AWS IoT 策略**
**注意**  
您可以通过 AWS 资源管理器创建新策略。但是，定义策略的 JSON 文档必须已经存在于您的文件系统中。

1. 在 AWS 资源管理器中，展开**物联网**服务部分。

1. 打开 **Policies**（策略）子部分的上下文（右键单击）菜单，要打开 **Policy Name**（策略名称）输入字段，请选择 **Create Policy from Document**（从文档创建策略）。

1. 输入名称并按照提示打开一个对话框，其中会要求您从文件系统中选择 JSON 文档。

1. 选择包含您的策略定义的 JSON 文件，策略完成后将在 AWS Explorer 中可用。<a name="policy-version-upload"></a>

**上传新的 AWS IoT 政策版本**

您可以通过向策略上传 JSON 文档来创建策略的新版本。
**注意**  
要使用 AWS 资源管理器创建新版本，新的 JSON 文档必须存在于您的文件系统中。

1. 在 AWS 资源管理器中，展开**物联网**服务部分。

1.  展开 **Policies**（策略）子部分以查看您的 AWS IoT 策略。

1. 打开要更新的策略的上下文（右键单击）菜单，然后选择 **Create new version from Document**（从文档创建新版本）。

1. 对话框打开时，选择包含策略定义更新的 JSON 文件。

   新版本可在 AWS Explorer 中从策略进行访问。<a name="policy-version-edit"></a>

**编辑 AWS IoT 策略版本**

您可以使用打开和编辑策略文档 AWS Cloud9。完成文档编辑后，请将其保存到文件系统中。然后，将其从 AWS 资源管理器上传到您的 AWS IoT 服务。

1. 在 AWS 资源管理器中，展开**物联网**服务部分。

1. 展开 **Policies**（策略）子部分并找到要更新的策略。

1. 要打开 **Policy Name**（策略名称），请从 **Document**（文档）选择 **Create Policy**（创建策略）。

1. 展开要更新的策略，然后打开要编辑的策略版本的上下文（右键单击）菜单。

1. 要在中打开策略版本 AWS Cloud9，请从上下文菜单中选择 “**查看**” 以打开策略版本。

1. 打开策略文档后，编辑并保存更改。
**注意**  
此时，您对策略所做的更改仅保存到本地文件系统中。要更新版本并使用 AWS 资源管理器进行跟踪，请重复中的步骤[Upload a new policy version](#policy-version-upload)。<a name="policy-version-default"></a>

**选择新的默认策略版本**

1. 在 AWS 资源管理器中，展开**物联网**服务部分。

1. 展开 **Policies**（策略）子部分并找到要更新的策略。

1. 展开要更新的策略，然后打开要设置的策略版本的上下文（右键单击）菜单并选择 **Set as Default**（设置为默认）。

   完成后，您选择的新默认版本旁边会显示一个星号。<a name="policy-delete"></a>

**删除策略**
**注意**  
在删除策略或策略版本之前，请确保满足以下条件：  
您无法删除已附加到证书的策略。
如果策略有任何非默认版本，则无法删除该策略。
只有选择了新的默认版本或删除了整个策略，您才能删除策略的默认版本。
在删除整个策略之前，必须删除该策略的所有非默认版本。

1. 在 AWS 资源管理器中，展开**物联网**服务部分。

1. 展开 **Policies**（策略）子部分并找到要更新的策略。

1. 展开要更新的策略，然后打开要删除的策略版本的上下文（右键单击）菜单并选择 **Delete**（删除）。

1. 删除某个版本后， AWS 资源管理器中将不再显示该版本。

1. 如果策略只剩下默认版本，请打开父策略的上下文（右键单击）菜单，然后选择 **Delete**（删除）。