

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

# 在 AWS IoT 中使用 AWS Toolkit for Visual Studio Code
<a name="iot-start"></a>

利用 AWS Toolkit for Visual Studio Code 中的 AWS IoT，您可以与 AWS IoT 服务交互，同时最大限度地减少对 VS Code 中工作流的干扰。本用户指南旨在帮助您开始使用 AWS Toolkit for Visual Studio Code 中提供的 AWS IoT 服务功能。有关 AWS IoT 服务的更多信息，请参阅开发者指南 [什么是 AWS IoT？](https://docs.aws.amazon.com/iot/latest/developerguide/what-is-aws-iot.html)

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

要开始通过 Toolkit for VS Code 使用 AWS IoT，请确保您的 AWS 账户和 VS Code 符合以下指南中的要求：
+ 有关特定于 AWS IoT 服务的 AWS 账户要求以及 AWS 用户权限，请参阅[开始使用 AWS IoT Core](https://docs.aws.amazon.com/iot/latest/developerguide/setting-up.html) 开发人员指南。
+ 有关 Toolkit for VS Code 的具体要求，请参阅[设置 Toolkit for VS Code](https://docs.aws.amazon.com/toolkit-for-vscode/latest/userguide/setting-up.html) 用户指南。

## AWS IoT 事物
<a name="iot-vsctoolkit-things"></a>

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

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

Toolkit for VS Code 有多项功能可以提高您的 AWS IoT 事物的管理效率。您可以通过以下方式使用 VS Code 工具包来管理您的 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 Explorer 中，展开 **IoT** 服务标题，然后打开**事物**的上下文菜单（右键单击）。

1. 从上下文菜单中选择**创建事物**，以打开对话框。

1. 按照提示在**事物名称**字段中输入 IoT 事物的名称。

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

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

1. 在 AWS Explorer 中，展开 **IoT** 服务部分。

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

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

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

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

**从事物分离证书**

1. 在 AWS Explorer 中，展开 **IoT** 服务部分。

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

1. 打开该**事物**的上下文菜单（右键单击），然后从上下文菜单中选择**分离证书**。

1. 此步骤完成后，分离的证书将不再显示在 AWS Explorer 中的该事物下，但仍可以从**证书**子部分进行访问。<a name="thing-delete"></a>

**删除事物**

1. 在 AWS Explorer 中，展开 **IoT** 服务部分。

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

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

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

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

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

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

VS Code 工具包提供了多种直接从 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 Explorer 中，展开 **IoT** 服务部分，打开**证书**的上下文菜单（右键单击）。

1. 从上下文菜单中选择**创建证书**，以打开对话框。

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

**修改证书状态**

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

1. 在 AWS Explorer 中，展开 **IoT** 服务部分。

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

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

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

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

1. 在 AWS Explorer 中，展开 **IoT** 服务部分。

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

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

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

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

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

1. 在 AWS Explorer 中，展开 **IoT** 服务部分。

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

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

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

1. 完成此步骤后，该策略将不再是可从您的证书访问的项目，但您可以从**策略**子部分访问它。<a name="cert-delete"></a>

**删除证书**

1. 在 AWS Explorer 中，展开 **IoT** 服务标题。

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

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

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

AWS IoT Core 策略通过 JSON 文档定义，其中每个文档包含一个或多个策略声明。策略定义了 AWS IoT、AWS 和您的设备如何相互交互。有关如何创建策略文档的更多信息，请参阅开发人员指南 [IoT 策略](https://docs.aws.amazon.com/iot/latest/developerguide/iot-policies.html)。

**注意**  
命名策略采取了版本控制，因此您可以回滚它们。在 AWS Explorer 中，您的 IoT 策略列在 IoT 服务中的**策略**子部分下。您可以通过展开策略来查看策略版本。默认版本由星号表示。

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

Toolkit for VS Code 为您提供了多种管理 AWS IoT 服务策略的方法。以下是直接在 VS Code 中通过 AWS Explorer 管理或修改策略的方法：
+ [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 Explorer 创建新策略，但定义该策略的 JSON 文档必须已经存在于您的文件系统中。

1. 在 AWS Explorer 中，展开 **IoT** 服务部分。

1. 打开**策略**子部分的上下文菜单（右键单击），然后选择**从文档创建策略**，以打开**策略名称**输入字段。

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

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

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

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

1. 在 AWS Explorer 中，展开 **IoT** 服务部分。

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

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

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

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

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

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

1. 在 AWS Explorer 中，展开 **IoT** 服务部分。

1. 展开**策略**子部分并找到要更新的策略。选择**从文档创建策略**，以打开**策略名称**输入字段。

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

1. 从上下文菜单中选择**查看**，以在 VS Code 中打开相应策略版本

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

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

1. 在 AWS Explorer 中，展开 **IoT** 服务部分。

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

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

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

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

1. 在 AWS Explorer 中，展开 **IoT** 服务部分。

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

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

1. 删除版本后，它在 Explorer 中将不再可见。

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