

# 使用导入任务预置 Sidewalk 设备
<a name="sidewalk-provision-bulk-import"></a>

本节介绍如何使用 AWS IoT 控制台、适用于 Amazon Sidewalk 的 AWS IoT Core API 操作或 AWS CLI 批量预置 Sidewalk 设备。下列各部分说明如何批量预置 Sidewalk 设备。

**Topics**
+ [Sidewalk 批量预置的工作原理](#provision-bulk-works)
+ [Sidewalk 批量预置的关键注意事项](#provision-bulk-considerations)
+ [CSV 文件格式](#provision-csv-format)
+ [如何使用 Sidewalk 批量预置](#provision-bulk-use)
+ [批量预置 Sidewalk 设备](sidewalk-bulk-provision-how.md)
+ [查看导入任务和设备登记状态](sidewalk-bulk-provision-status.md)

## Sidewalk 批量预置的工作原理
<a name="provision-bulk-works"></a>

以下步骤说明了批量预置的工作原理。

1. 

**启动无线设备导入任务**

   要批量预置 Sidewalk 设备，必须创建导入任务并提供要登记到适用于 Amazon Sidewalk 的 AWS IoT Core 的设备的 Sidewalk 制造序列号（SMSN）。在制造商将控制日志上传到 Amazon Sidewalk 后，您便通过电子邮件，以 CSV 文件的形式获得了设备的 Sidewalk 制造序列号（SMSN）。有关工作流以及如何获取控制日志的更多信息，请参阅《Amazon Sidewalk 文档》**中的[制造 Amazon Sidewalk 设备](https://docs.sidewalk.amazon/manufacturing/)。

1. 

**在后台运行导入进程**

   当适用于 Amazon Sidewalk 的 AWS IoT Core 收到导入任务请求时，它开始设置事物，并启动一个频繁轮询系统的后台进程。后台进程收到导入任务指令后，就会开始读取 CSV 文件。适用于 Amazon Sidewalk 的 AWS IoT Core 同时检查是否已从 Amazon Sidewalk 收到控制日志。

1. 

**创建无线设备记录**

   从 Amazon Sidewalk 收到控制日志后，适用于 Amazon Sidewalk 的 AWS IoT Core 会检查控制日志中的序列号是否与 CSV 文件中的 SMSN 值匹配。如果序列号匹配，适用于 Amazon Sidewalk 的 AWS IoT Core 将开始为与这些序列号对应的 Sidewalk 设备创建无线设备记录。登记所有设备后，导入任务将标记为*已完成*。

## Sidewalk 批量预置的关键注意事项
<a name="provision-bulk-considerations"></a>

在将 Sidewalk 设备批量预置到适用于 Amazon Sidewalk 的 AWS IoT Core 时，请关注以下一些主要注意事项。
+ 您必须在创建设备配置文件的同一 AWS 账户中使用 AWS IoT 控制台或适用于 Amazon Sidewalk 的 AWS IoT Core API 操作执行批量预置。
+ 在批量预置 Sidewalk 设备之前，设备配置文件必须已经包含表明工厂支持的 DAK 信息。否则，使用 AWS IoT 控制台进行批量预置或批量预置 API 操作可能会失败。
+ 开始导入任务后，处理 CSV 文件、导入无线设备并将其登记到适用于 Amazon Sidewalk 的 AWS IoT Core 可能至少需要 10 分钟或更长时间。
+ 无线设备导入任务一旦启动，就将运行达 90 天。在此期间，它会检查是否已从 Amazon Sidewalk 收到控制日志。如果在 90 天届满前未从 Amazon Sidewalk 收到控制日志，则当您查看任务详细信息时，该任务将标记为*已完成*，并显示一条消息表明该任务已过期。导入任务中等待控制日志的设备的登记状态将标记为*失败*。
+ 当您尝试更新已创建的导入任务时，只能向该任务添加其他设备。在创建导入任务之后和在已添加到导入任务的设备上启动任务之前，您可以随时添加新设备。如果更新文件包含原始导入任务中已存在的设备的序列号，则这些序列号将被忽略。
+ 当您请求更新操作时，将代入与您在创建导入任务时使用的相同 IAM 角色来访问 Amazon S3 桶中的 CSV 文件。
+ 只有当导入任务已成功完成或任务更新失败时，才能删除该任务。在提供错误的 IAM 角色或找不到 Amazon S3 桶文件等情况下，任务可能无法更新。如果导入任务处于 `PENDING` 状态，则无法更新或删除此任务。
+ 您导入到任务中的 CSV 文件必须使用下一部分中描述的格式。

## CSV 文件格式
<a name="provision-csv-format"></a>

Amazon S3 桶中所包含的您为导入任务指定的 CSV 文件必须使用以下格式：
+ 第 1 行必须使用关键字 `smsn`，表示正在导入的 CSV 文件包含要导入的设备的 SMSN。
+ 第 2 行及之后的行必须包含要登记的设备的 SMSN。设备 SMSN 必须采用 64 个十六进制字符格式。

此 JSON 文件显示了一个 CSV 文件格式示例。

```
smsn
1C1A10B0AC0A200C012BBAC2CBB1B21CB12C0CA2AC1C1BB22CAA01C1B0B01122
B122C2B1121BACA2221001AC1B22012AAC11112C11C2A100C1C2B012A1100C10
02B222C110B0A210B0A0C2C112CCCAC21C1C0B0AA1221AB1022A2CC11B1B1122
C2C021CA1C111CCAB1221C0021C1C2AAA0AA1A2A01ABC10CBAACCA2A0121022A
0CB22C01BBC2CA2C0B11001121ACB2ABB0BB0121C2BA101C012CC2B20C011AC0
```

## 如何使用 Sidewalk 批量预置
<a name="provision-bulk-use"></a>

下列步骤向您展示如何使用 Amazon Sidewalk 批量预置。

1. 

**提供设备序列号**

   要预置 Sidewalk 设备，您必须提供要登记的设备的序列号。您可以使用以下任一方法来预置设备。
   + 使用各台设备的 Sidewalk 制造序列号（SMSN）单独预置每台设备。如果您想测试工作流并更快地登记设备，而不必使用相应的 IAM 角色上传 CSV 文件，也不必等待设备准备好登记到此任务，则此方法很有用。
   + 通过提供 Amazon S3 桶 URL 来批量预置设备，该 URL 带有包含待预置设备的 SMSN 的 CSV 文件路径。当您有大量设备要登记时，此方法尤其有用。在这种情况下，单独登记每台设备可能工作量很大。相反，您只需提供指向已上传到 Amazon S3 桶的 CSV 文件的路径以及访问该文件的 IAM 角色即可。

1. 

**获取导入任务和设备登记状态**

   对于您创建的每个导入任务，您可以检索有关任务登记状态和添加到任务中的设备的登记状态的信息。您还可以查看其他状态信息，例如任务或设备登记失败的原因。有关更多信息，请参阅 

1. 

**（可选）更新或删除导入任务**

   您可以更新或删除已创建的导入任务。
   + 在已添加的设备上开始导入任务之前，您可以随时更新导入任务并向该任务添加其他设备。适用于 Amazon Sidewalk 的 AWS IoT Core 代入您在创建导入任务时使用的相同 IAM 角色。创建任务时，请指定新的 CSV 文件，其中包含要添加到任务中的设备的序列号。
**注意**  
更新现有导入任务时，只能向任务中添加设备。适用于 Amazon Sidewalk 的 AWS IoT Core 在导入任务中已经存在的设备与您试图添加到任务中的设备之间执行并集操作。如果新文件包含导入任务中已存在的设备的序列号，则这些序列号将被忽略。
   + 您可以删除已成功完成的导入任务，也可以删除在 IAM 角色信息不正确或在创建或更新任务时 S3 桶文件不可用等情况下未能更新的导入任务。

**Topics**
+ [Sidewalk 批量预置的工作原理](#provision-bulk-works)
+ [Sidewalk 批量预置的关键注意事项](#provision-bulk-considerations)
+ [CSV 文件格式](#provision-csv-format)
+ [如何使用 Sidewalk 批量预置](#provision-bulk-use)
+ [批量预置 Sidewalk 设备](sidewalk-bulk-provision-how.md)
+ [查看导入任务和设备登记状态](sidewalk-bulk-provision-status.md)