

# 用于批量预置的 适用于 Amazon Sidewalk 的 AWS IoT Core API 操作
<a name="iot-sidewalk-apis-provisioning"></a>

您可以执行以下 API 操作来批量预置 Sidewalk 终端设备：
+ [https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_StartWirelessDeviceImportTask.html](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_StartWirelessDeviceImportTask.html) API 或 [https://docs.aws.amazon.com/cli/latest/reference/start-wireless-device-import-task.html](https://docs.aws.amazon.com/cli/latest/reference/start-wireless-device-import-task.html) CLI
+ [https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_StartSingleWirelessDeviceImportTask.html](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_StartSingleWirelessDeviceImportTask.html) API 或 [https://docs.aws.amazon.com/cli/latest/reference/start-single-wireless-device-import-task.html](https://docs.aws.amazon.com/cli/latest/reference/start-single-wireless-device-import-task.html) CLI
+ [https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_ListWirelessDeviceImportTasks.html](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_ListWirelessDeviceImportTasks.html) API 或 [https://docs.aws.amazon.com/cli/latest/reference/list-wireless-device-import-tasks.html](https://docs.aws.amazon.com/cli/latest/reference/list-wireless-device-import-tasks.html) CLI
+ [https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_ListDevicesForWirelessDeviceImportTask.html](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_ListDevicesForWirelessDeviceImportTask.html) API 或 [https://docs.aws.amazon.com/cli/latest/reference/list-devices-for-wireless-device-import-task.html](https://docs.aws.amazon.com/cli/latest/reference/list-devices-for-wireless-device-import-task.html) CLI
+ [https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_GetWirelessDeviceImportTask.html](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_GetWirelessDeviceImportTask.html) API 或 [https://docs.aws.amazon.com/cli/latest/reference/get-wireless-device-import-task.html](https://docs.aws.amazon.com/cli/latest/reference/get-wireless-device-import-task.html) CLI
+ [https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_UpdateWirelessDeviceImportTask.html](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_UpdateWirelessDeviceImportTask.html) API 或 [https://docs.aws.amazon.com/cli/latest/reference/update-wireless-device-import-task.html](https://docs.aws.amazon.com/cli/latest/reference/update-wireless-device-import-task.html) CLI
+ [https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_DeleteWirelessDeviceImportTask.html](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_DeleteWirelessDeviceImportTask.html) API 或 [https://docs.aws.amazon.com/cli/latest/reference/delete-wireless-device-import-task.html](https://docs.aws.amazon.com/cli/latest/reference/delete-wireless-device-import-task.html) CLI

以下各节将向您介绍如何获取、列出、更新和删除导入任务。有关创建导入任务的信息，请参阅[用于批量预置的 适用于 Amazon Sidewalk 的 AWS IoT Core API 操作](#iot-sidewalk-apis-provisioning)。

## 获取有关导入任务的信息
<a name="iot-sidewalk-get-import-task"></a>

您可以使用 [https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_ListDevicesForWirelessDeviceImportTask.html](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_ListDevicesForWirelessDeviceImportTask.html) API 操作来检索有关特定导入任务的信息以及该任务中设备的登记状态。作为 API 操作的输入，请指定您从 `StartWirelessDeviceImportTask` 或 `StartSingleWirelessDeviceImportTask` API 操作中获得的导入任务 ID。然后，API 将返回有关与指定的标识符匹配的导入任务的信息。

下面显示了 CLI 命令示例：

```
aws iotwireless list-devices-for-wireless-device-import-task --id e2a5995e-743b-41f2-a1e4-3ca6a5c5249f
```

运行此命令会返回您的导入任务信息和设备登记状态。

```
{
   "DestinationName": "SidewalkDestination",
   "ImportedWirelessDeviceList": [ 
      { 
         "Sidewalk": { 
            "OnboardingStatus": "ONBOARDED",
            "LastUpdateTime": "2023-02021T06:11:09.151Z",
            "SidewalkManufacturingSn": "82B83C8B35E856F43CE9C3D59B418CC96B996071016DB1C3BE5901F0F3071A4A"
         },
         "Sidewalk": {
             "OnboardingStatus": "PENDING",
             "LastUpdateTime": "2023-02021T06:22:12.061Z",
             "SidewalkManufacturingSn": "12345ABCDE6789FABDESBDEF123456789012345FEABC0123679AFEBC01234EF"
         },        
      }
   ]
}
```

## 获取导入任务设备摘要
<a name="iot-sidewalk-get-device-summary"></a>

要获取您添加到特定导入任务的设备的登记状态的摘要信息计数，请使用 [https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_GetWirelessDeviceImportTask.html](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_GetWirelessDeviceImportTask.html) API 操作。下面显示了 CLI 命令示例。

```
aws iotwireless get-wireless-device-import-task --Id "e2a5995e-743b-41f2-a1e4-3ca6a5c5249f"
```

以下代码显示了来自命令的示例响应。

```
{
   "NumberOfFailedImportedDevices": 2,
   "NumberOfOnboardedImportedDevices": 4,
   "NumberOfPendingImportedDevices": 1
}
```

## 将设备添加到导入任务
<a name="iot-sidewalk-update-import-task"></a>

使用 `UpdateWirelessDeviceImportTask` API 操作将设备添加到您添加的现有导入任务中。您可以使用此 API 操作添加以前未包含在您使用 `StartWirelessDeviceImportTask` API 操作创建的任务中的设备的序列号（SMSN）。

要将设备附加到导入任务，作为 API 请求的一部分，请在 Amazon S3 桶中指定一个新的 CSV 文件，其中包含待添加设备的序列号。只有在当前处于导入任务中的设备的登记过程尚未开始时，才会接受该请求。如果登记过程已经开始，则 `UpdateWirelessDeviceImportTask` API 请求将失败。

如果您仍想将设备附加到导入任务，则可以再次执行 `UpdateWirelessDeviceImportTask` API 操作。在执行此 API 操作之前，第一个 `UpdateWirelessDeviceImportTask` API 请求必须已完成处理 S3 桶中的 CSV 文件。

**注意**  
当您执行 `ListImportedWirelessDeviceTasks` API 请求时，当前不会返回使用 `UpdateWirelessDeviceImportTask` API 操作指定的新 CSV 文件的 S3 URL。相反，API 操作会返回最初使用 `StartWirelessDeviceImportTask` API 请求发送的请求的 S3 URL。

 下面显示了 CLI 命令示例。

```
aws iotwireless update-wireless-device-import task \
    --Id "e2a5995e-743b-41f2-a1e4-3ca6a5c5249f" \
    --sidewalk '{"FileForCreateDevices": "s3://import_task_bucket/import_file3"}'
```

## 列出您的 AWS 账户中的导入任务
<a name="iot-sidewalk-list-import-tasks"></a>

使用 `ListWirelessDeviceImportTasks` API 或 `list-imported-wireless-device-tasks` CLI 命令列出您的 AWS 账户中的导入任务。下面显示了 CLI 命令示例。

```
aws iotwireless list-wireless-device-import-tasks
```

运行此命令会返回您创建的导入任务列表。该列表包括这些任务的 Amazon S3 CSV 文件和指定的 IAM 角色、导入任务 ID 以及设备登记状态的摘要信息。

```
{
   "ImportWirelessDeviceTaskList": [ 
      { 
         "FileForCreateDevices": "s3://import_task_bucket/import_file1",
         "ImportTaskId": "e2a5995e-743b-41f2-a1e4-3ca6a5c5249f",
         "NumberOfFailedImportedDevices": 1,
         "NumberOfOnboardedImportedDevices": 3,
         "NumberOfPendingImportedDevices": 2,
         "Role": "arn:aws:iam::123456789012:role/service-role/ACF1zBEI",
         "TimeStamp": "1012202218:23:55"
      },
      { 
         "FileForCreateDevices": "s3://import_task_bucket/import_file2",
         "ImportTaskId": "a1b234c5-67ef-21a2-a1b2-3cd4e5f6789a",
         "NumberOfFailedImportedDevices": 2,
         "NumberOfOnboardedImportedDevices": 4,
         "NumberOfPendingImportedDevices": 1,
         "Role": "arn:aws:iam::123456789012:role/service-role/CDEFaBC1",
         "TimeStamp": "1201202210:12:20"
      }      
   ]
}
```

## 从您的 AWS 账户中删除导入任务
<a name="iot-sidewalk-delete-import-task"></a>

要删除导入任务，请将导入任务 ID 传递给 `DeleteWirelessDeviceImportTask` API 操作或 `delete-wireless-device-import-task` CLI 命令。

**警告**  
删除操作无法撤消。将从您的 AWS 账户中永久删除导入任务。

当您执行 `DeleteWirelessDeviceImportTask` API 请求时，后台进程会开始删除导入任务。当请求正在进行时，导入任务中设备的序列号（SMSN）正处于删除过程中。只有在删除完成后，您才能使用 `ListImportedWirelessDeviceTasks` 或 `GetImportedWirelessDeviceTasks` API 操作查看此信息。

如果导入任务中仍包含等待登记的设备，则只有在导入任务中的所有设备都已登记或登记失败之后，才会处理 `DeleteWirelessDeviceImportTask` API 请求。导入任务将在 90 天后过期，一旦任务过期，就可以将其从您的账户中删除。但是，不会删除使用导入任务成功登记的设备。

**注意**  
如果您尝试使用 `DeleteWirelessDeviceImportTask` API 请求创建另一个包含待删除设备的序列号的导入任务，那么 `StartWirelessDeviceImportTask` API 操作将返回错误。

下面显示了 CLI 命令示例：

```
aws iotwireless delete-import-task --Id "e2a5995e-743b-41f2-a1e4-3ca6a5c5249f"
```

此命令不会生成任何输出。删除任务后，要验证导入任务是否已从您的账户中删除，可以使用 `GetWirelessDeviceImportTask` API 操作或 `ListWirelessDeviceImportTasks` API 操作。