

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

# 将更新下载到 Snowball Edge 设备
<a name="download-updates"></a>

您可以通过两种方式下载 Snowball Edge 的更新：
+ 可以使用特定 Snowball Edge 客户端命令随时触发手动更新。
+ 可以以编程方式确定自动更新设备的时间。

以下过程概述了手动下载更新的过程。有关自动更新 Snowball Edge 设备的信息，请参阅[更新 Snowball Edge](https://docs.aws.amazon.com/snowball/latest/developer-guide/using-client-commands.html#update-client-commands) 中的 `configure-auto-update-strategy`。

**注意**  
如果您的设备无法访问互联网，则可以使用 [GetSoftwareUpdates](https://docs.aws.amazon.com/snowball/latest/api-reference/API_GetSoftwareUpdates.html)API 下载更新文件。然后，在使用 `uri` 参数调用 `download-updates` 时指向本地文件位置，如以下示例中所示。  

```
snowballEdge download-updates --uri file:///tmp/local-update
```
对于 Windows 操作系统，请按以下方式格式化 `uri` 参数的值：  

```
snowballEdge download-updates --uri file:/C:/path/to/local-update
```

**要为独立设备检查有无 Snowball Edge 软件更新并下载，请执行以下操作**

1. 打开一个终端窗口，并确保使用 `describe-device` 命令解锁 Snowball Edge 设备。如果设备已锁定，请使用 `unlock-device` 命令来解锁它。有关更多信息，请参阅[解锁 Snowball Edge](https://docs.aws.amazon.com/snowball/latest/developer-guide/unlockdevice.html)。

1. 在解锁设备后，请运行 `snowballEdge check-for-updates` 命令。此命令返回 Snowball Edge 软件的最新可用版本以及设备上安装的当前版本。

1. 如果您的设备软件已过时，请运行 `snowballEdge download-updates` 命令。
**注意**  
如果您的设备未连接到互联网，请先使用 [GetSoftwareUpdates](https://docs.aws.amazon.com/snowball/latest/api-reference/API_GetSoftwareUpdates.html)API 下载更新文件。然后，使用 `snowballEdge download-updates` 参数以及指向已下载文件的本地路径来运行 `uri` 命令，如以下示例中所示。  

   ```
   snowballEdge download-updates --uri file:///tmp/local-update
   ```
对于 Windows 操作系统，请按以下方式格式化 `uri` 参数的值：  

   ```
   snowballEdge download-updates --uri file:/C:/path/to/local-update
   ```

1. 您可以使用 `snowballEdge describe-device-software` 命令检查此下载的状态。在下载更新时，您可以使用此命令显示其状态。  
**Example `describe-device-software` 命令的输出**  

   ```
   Install State: Downloading
   ```

**要为设备集群检查有无 Snowball Edge 软件更新并下载，请执行以下操作**

1. 打开一个终端窗口，并使用 `snowballEdge describe-device` 命令确保已解锁集群中的所有 Snowball Edge 设备。如果设备已锁定，请使用 `snowballEdge unlock-cluster` 命令来解锁。有关更多信息，请参阅[解锁 Snowball Edge](https://docs.aws.amazon.com/snowball/latest/developer-guide/unlockdevice.html)。

1. 当集群中的所有设备都解锁后，对集群中的每台设备运行 `check-for-updates` 命令。此命令返回 Snowball Edge 软件的最新可用版本以及设备上安装的当前版本。

   ```
   snowballEdge check-for-updates --unlock-code 29-character-unlock-code --manifest-file path/to/manifest/file.bin --endpoint https://ip-address-of-snow-device                    
   ```
**注意**  
集群中所有设备的解锁码和清单文件都相同。  
**Example `check-for-updates` 命令的**  

   ```
   {
   "InstalledVersion" : "118",
   "LatestVersion" : "119"
   }
   ```

   如果 `LatestVersion` 名称的值大于 `InstalledVersion` 名称的值，则有更新可用。

1. 对于集群中的每台设备，使用 `download-updates` 命令下载更新。

   ```
   snowballEdge download-updates --uri file:///tmp/local-update
   ```
**注意**  
对于 Windows 操作系统，请按以下方式格式化 `uri` 参数的值：  

   ```
   snowballEdge download-updates --uri file:/C:/path/to/local-update
   ```

1. 要检查集群中每台设备的这项下载的状态，使用 `describe-device-software` 命令。

   ```
   snowballEdge describe-device-software --unlock-code 29-character-unlock-code --manifest-file path/to/manifest/file.bin --endpoint https://ip-address-of-snow-device    
   ```  
**Example `describe-device-software` 命令的输出**  

   ```
   {
   "InstalledVersion" : "118",
   "InstallingVersion" : "119",
   "InstallState" : "DOWNLOADED",
   "CertificateExpiry" : "Sat Mar 30 16:47:51 UTC 2024"
   }
   ```

   如果 `InstallState` 名称的值为 `DOWNLOADED`，则更新已完成下载并可供安装。