

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

# SageMaker AI 边缘管理器
<a name="sagemaker-edge-manager-component"></a>

**重要**  
SageMaker AI 边缘管理器已于 2024 年 4 月 26 日停产。有关继续将模型部署到边缘设备的更多信息，请参阅 [SageMaker AI Edge Manager 生命周期终止](https://docs.aws.amazon.com/sagemaker/latest/dg/edge-eol.html)。

Amazon A SageMaker I Edge Manager 组件 (`aws.greengrass.SageMakerEdgeManager`) 安装 SageMaker AI Edge Manager 代理二进制文件。

SageMaker AI Edge Manager 为边缘设备提供模型管理，因此您可以优化、保护、监控和维护边缘设备队列上的机器学习模型。 SageMaker AI Edge Manager 组件在您的核心设备上安装和管理 SageMaker AI Edge Manager 代理的生命周期。您还可以使用 SageMaker AI Edge Manager 在 Greengrass 核心设备上打包和使用 SageMaker AI Neo 编译的模型作为模型组件。有关在核心设备上使用 SageMaker AI Edge Manager 代理的更多信息，请参阅[在 Greengrass 核心设备上使用亚马逊 SageMaker AI 边缘管理器](use-sagemaker-edge-manager.md)。

SageMaker AI Edge Manager 组件 v1.3.x 安装边缘管理器代理二进制 v1.20220822.836f3023。有关 Edge Manager 代理二进制文件版本的更多信息，请参阅 [Edge Manager 代理](https://docs.aws.amazon.com/sagemaker/latest/dg/edge-device-fleet-about)。

**注意**  
A SageMaker I 边缘管理器组件仅在以下版本中可用 AWS 区域：  
美国东部（俄亥俄州）
美国东部（弗吉尼亚州北部）
美国西部（俄勒冈州）
欧洲（法兰克福）
欧洲（爱尔兰）
亚太地区（东京）

**Topics**
+ [版本](#sagemaker-edge-manager-component-versions)
+ [Type](#sagemaker-edge-manager-component-type)
+ [操作系统](#sagemaker-edge-manager-component-os-support)
+ [要求](#sagemaker-edge-manager-component-requirements)
+ [依赖项](#sagemaker-edge-manager-component-dependencies)
+ [配置](#sagemaker-edge-manager-component-configuration)
+ [本地日志文件](#sagemaker-edge-manager-component-log-file)
+ [更改日志](#sagemaker-edge-manager-component-changelog)

## 版本
<a name="sagemaker-edge-manager-component-versions"></a>

此组件具有以下版本：
+ 1.3.x
+ 1.2.x
+ 1.1.x
+ 1.0.x

## Type
<a name="sagemaker-edge-manager-component-type"></a>

<a name="public-component-type-generic"></a>此<a name="public-component-type-generic-phrase"></a>组件是一个通用组件 (`aws.greengrass.generic`)。[Greengrass Nucleus](greengrass-nucleus-component.md) 运行组件的生命周期脚本。

<a name="public-component-type-more-information"></a>有关更多信息，请参阅[组件类型](develop-greengrass-components.md#component-types)。

## 操作系统
<a name="sagemaker-edge-manager-component-os-support"></a>

此组件可以安装在运行以下操作系统的核心设备上：
+ Linux
+ Windows

## 要求
<a name="sagemaker-edge-manager-component-requirements"></a>

此组件具有以下要求：<a name="sm-edge-manager-component-reqs"></a>
+ <a name="sm-req-core-device"></a>在 Amazon Linux 2、基于 Debian 的 Linux 平台（x86\$164 或 Armv8）或 Windows（x86\$164）上运行的 Greengrass 核心设备。如果没有，请参阅[教程：AWS IoT Greengrass V2 入门](getting-started.md)。
+ <a name="sm-req-python"></a>核心设备上已安装 [Python](https://www.python.org/downloads/) 3.6 或更高版本，包括适用于您的 Python 版本的 `pip`。
+ 已为 [Greengrass 设备角色](device-service-role.md)配置以下项：
  + <a name="sm-req-iam-trust-relationship"></a>允许 `credentials.iot.amazonaws.com` 和 `sagemaker.amazonaws.com` 担任该角色的信任关系，如以下 IAM 策略示例所示。

    ```
    { 
      "Version": "2012-10-17",		 	 	 
      "Statement": [ 
        { 
          "Effect": "Allow", 
          "Principal": {
            "Service": "credentials.iot.amazonaws.com"
           }, 
          "Action": "sts:AssumeRole" 
        },
        { 
          "Effect": "Allow", 
          "Principal": {
            "Service": "sagemaker.amazonaws.com"
          }, 
          "Action": "sts:AssumeRole" 
        } 
      ] 
    }
    ```
  + <a name="sm-req-iam-sagemanakeredgedevicefleetpolicy"></a>I [AmazonSageMakerEdgeDeviceFleetPolicy](https://console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/service-role/AmazonSageMakerEdgeDeviceFleetPolicy)AM 托管策略。
  + <a name="sm-req-iam-s3-putobject"></a>`s3:PutObject` 操作，如以下 IAM 策略示例所示。

    ```
    {
      "Version": "2012-10-17",		 	 	 
      "Statement": [
        {
          "Action": [
            "s3:PutObject"
          ],
          "Resource": [
            "*"
          ],
          "Effect": "Allow"
        }
      ]
    }
    ```
+ <a name="sm-req-s3-bucket"></a>与您的 Greengrass 核心设备 AWS 区域 相同 AWS 账户 且创建的 Amazon S3 存储桶。 SageMaker AI Edge Manager 需要一个 S3 存储桶来创建边缘设备队列，并存储在设备上运行推理的示例数据。有关创建 S3 存储桶的更多信息，请参阅 [Amazon S3 入门](https://docs.aws.amazon.com/AmazonS3/latest/userguide/GetStartedWithS3.html)。
+ <a name="sm-req-edge-device-fleet"></a>使用与 Greengrass 核心设备相同的 AWS IoT 角色别名的 SageMaker AI 边缘设备舰队。有关更多信息，请参阅 [创建边缘设备实例集](get-started-with-edge-manager-on-greengrass.md#create-edge-device-fleet-for-greengrass)。
+ <a name="sm-req-edge-device"></a>您的 Greengrass 核心设备在 AI Edge 设备群中注册为边缘设备。 SageMaker 边缘设备名称必须与核心设备 AWS IoT 的事物名称相匹配。有关更多信息，请参阅 [注册 Greengrass 核心设备](get-started-with-edge-manager-on-greengrass.md#register-greengrass-core-device-in-sme)。

### 端点和端口
<a name="sagemaker-edge-manager-component-endpoints"></a>

除基本操作所需的端点和端口外，此组件还必须能够对以下端点和端口执行出站请求。有关更多信息，请参阅 [允许设备流量通过代理或防火墙](allow-device-traffic.md)。


| 终端节点 | 端口 | 必需 | 描述 | 
| --- | --- | --- | --- | 
|  `edge.sagemaker.region.amazonaws.com`  | 443 | 是 |  检查设备注册状态并将指标发送给 SageMaker AI。  | 
|  `*.s3.amazonaws.com`  | 443 | 是 |  将捕获数据上传到您指定的 S3 存储桶。 您可以将 `*` 替换为将数据上传其中的每个存储桶的名称。  | 

## 依赖项
<a name="sagemaker-edge-manager-component-dependencies"></a>

部署组件时， AWS IoT Greengrass 还会部署其依赖项的兼容版本。这意味着您必须满足组件及其所有依赖关系的要求，才能成功部署组件。本部分列出了此组件的[已发布版本](#sagemaker-edge-manager-component-changelog)的依赖关系，以及定义每个依赖关系的组件版本的语义版本约束。您还可以在 [AWS IoT Greengrass 控制台](https://console.aws.amazon.com//greengrass)中查看每个组件版本的依赖关系。在组件详细信息页面上，查找**依赖关系**列表。

------
#### [ 1.3.5 and 1.3.6 ]

下表列出了此组件版本 1.3.5 和 1.3.6 的依赖关系。


| 依赖关系 | 兼容版本 | 依赖关系类型 | 
| --- | --- | --- | 
| [Greengrass Nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.13.0 | 软性 | 
| [令牌交换服务](token-exchange-service-component.md) | >=0.0.0 | 硬性 | 

------
#### [ 1.3.4 ]

下表列出了此组件版本 1.3.4 的依赖关系。


| 依赖关系 | 兼容版本 | 依赖关系类型 | 
| --- | --- | --- | 
| [Greengrass Nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.12.0 | 软性 | 
| [令牌交换服务](token-exchange-service-component.md) | >=0.0.0 | 硬性 | 

------
#### [ 1.3.3 ]

下表列出了此组件版本 1.3.3 的依赖关系。


| 依赖关系 | 兼容版本 | 依赖关系类型 | 
| --- | --- | --- | 
| [Greengrass Nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.11.0 | 软性 | 
| [令牌交换服务](token-exchange-service-component.md) | >=0.0.0 | 硬性 | 

------
#### [ 1.3.2 ]

下表列出了此组件版本 1.3.2 的依赖关系。


| 依赖关系 | 兼容版本 | 依赖关系类型 | 
| --- | --- | --- | 
| [Greengrass Nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.10.0 | 软性 | 
| [令牌交换服务](token-exchange-service-component.md) | >=0.0.0 | 硬性 | 

------
#### [ 1.3.1 ]

下表列出了此组件版本 1.3.1 的依赖关系。


| 依赖关系 | 兼容版本 | 依赖关系类型 | 
| --- | --- | --- | 
| [Greengrass Nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.9.0 | 软性 | 
| [令牌交换服务](token-exchange-service-component.md) | >=0.0.0 | 硬性 | 

------
#### [ 1.1.1 - 1.3.0 ]

下表列出了此组件版本 1.1.1 至 1.3.0 的依赖关系。


| 依赖关系 | 兼容版本 | 依赖关系类型 | 
| --- | --- | --- | 
| [Greengrass Nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.8.0 | 软性 | 
| [令牌交换服务](token-exchange-service-component.md) | >=0.0.0 | 硬性 | 

------
#### [ 1.1.0 ]

下表列出了此组件版本 1.1.0 的依赖关系。


| 依赖关系 | 兼容版本 | 依赖关系类型 | 
| --- | --- | --- | 
| [Greengrass Nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.6.0 | 软性 | 
| [令牌交换服务](token-exchange-service-component.md) | >=0.0.0 | 硬性 | 

------
#### [ 1.0.3 ]

下表列出了此组件版本 1.0.3 的依赖关系。


| 依赖关系 | 兼容版本 | 依赖关系类型 | 
| --- | --- | --- | 
| [Greengrass Nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.5.0 | 软性 | 
| [令牌交换服务](token-exchange-service-component.md) | >=0.0.0 | 硬性 | 

------
#### [ 1.0.1 and 1.0.2 ]

下表列出了此组件版本 1.0.1 和 1.0.2 的依赖关系。


| 依赖关系 | 兼容版本 | 依赖关系类型 | 
| --- | --- | --- | 
| [Greengrass Nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.4.0 | 软性 | 
| [令牌交换服务](token-exchange-service-component.md) | >=0.0.0 | 硬性 | 

------
#### [ 1.0.0 ]

下表列出了此组件的版本 1.0.0 的依赖关系。


| 依赖关系 | 兼容版本 | 依赖关系类型 | 
| --- | --- | --- | 
| [Greengrass Nucleus](greengrass-nucleus-component.md) | >=2.0.0 <2.3.0 | 软性 | 
| [令牌交换服务](token-exchange-service-component.md) | >=0.0.0 | 硬性 | 

------

有关组件依赖关系的更多信息，请参阅[组件配方参考](component-recipe-reference.md#recipe-reference-component-dependencies)。

## 配置
<a name="sagemaker-edge-manager-component-configuration"></a>

此组件提供您可以在部署组件时自定义的以下配置参数。

**注意**  
本节介绍了您在组件中设置的配置参数。有关相应的 SageMaker AI 边缘管理器配置的更多信息，请参阅 A *mazon A SageMaker I 开发者指南*中的[边缘管理器代理](https://docs.aws.amazon.com/sagemaker/latest/dg/edge-device-fleet-about.html#edge-device-fleet-running-agent)。

`DeviceFleetName`  
包含你的 Greengrass 核心设备的 SageMaker AI Edge Manager 设备队列的名称。  
部署此组件时，必须在配置更新中指定此参数的值。

`BucketName`  
将捕获的推理数据上传其中的 S3 存储桶的名称。存储桶名称必须包含字符串 `sagemaker`。  
如果将 `CaptureDataDestination` 设置为 `Cloud`，或者将 `CaptureDataPeriodicUpload` 设置为 `true`，则在部署此组件时，必须在配置更新中为此参数指定一个值。  
捕获数据是一项 SageMaker AI 功能，用于将推理输入、推理结果和其他推理数据上传到 S3 存储桶或本地目录以供将来分析。有关在 SageMaker AI Edge Manager 中使用捕获数据的更多信息，请参阅 *Amazon A SageMaker I 开发者指南*中的[管理模型](https://docs.aws.amazon.com/sagemaker/latest/dg/edge-manage-model.html#edge-manage-model-capturedata)。

`CaptureDataBatchSize`  
（可选）代理处理的捕获数据请求批次的大小。该值必须小于您在 `CaptureDataBufferSize` 中指定的缓冲区大小。我们建议不要超过缓冲区大小的一半。  
缓冲区中的请求数量达到 `CaptureDataBatchSize` 数量时，或者达到 `CaptureDataPushPeriodSeconds` 时间间隔时（以先发生者为准），代理会处理请求批次。  
默认值：`10`

`CaptureDataBufferSize`  
（可选）缓冲区中存储的捕获数据请求的最大数量。  
默认值：`30`

`CaptureDataDestination`  
（可选）存储捕获的数据的目标位置。此参数可能具有以下值：  
+ `Cloud` – 将捕获的数据上传到您在 `BucketName` 中指定的 S3 存储桶。
+ `Disk` – 将捕获的数据写入组件的工作目录。
如果您指定 `Disk`，也可以将 `CaptureDataPeriodicUpload` 设置为 `true`，来选择定期将捕获的数据上传到您的 S3 存储桶。  
默认值：`Cloud`

`CaptureDataPeriodicUpload`  
（可选）指定是否定期上传捕获的数据的字符串值。支持的值为 `true` 和 `false`。  
如果将 `CaptureDataDestination` 设置为 `Disk`，并且还希望代理定期将捕获的数据上传到您的 S3 存储桶，则将此参数设置为 `true`。  
默认值：`false`

`CaptureDataPeriodicUploadPeriodSeconds`  
（可选） SageMaker AI Edge Manager 代理将捕获的数据上传到 S3 存储桶的时间间隔（以秒为单位）。如果将 `CaptureDataPeriodicUpload` 设置为 `true`，则使用此参数。  
默认值：`8`

`CaptureDataPushPeriodSeconds`  
（可选） SageMaker AI Edge Manager 代理处理来自缓冲区的一批捕获数据请求的时间间隔（以秒为单位）。  
缓冲区中的请求数量达到 `CaptureDataBatchSize` 数量时，或者达到 `CaptureDataPushPeriodSeconds` 时间间隔时（以先发生者为准），代理会处理请求批次。  
默认值：`4`

`CaptureDataBase64EmbedLimit`  
（可选） SageMaker AI Edge Manager 代理上传的最大捕获数据大小（以字节为单位）。  
默认值：`3072`

`FolderPrefix`  
（可选）代理将捕获的数据写入其中的文件夹的名称。如果将 `CaptureDataDestination` 设置为 `Disk`，则代理将在 `CaptureDataDiskPath` 指定的目录中创建文件夹。如果您将 `CaptureDataDestination` 设置为 `Cloud`，或者将 `CaptureDataPeriodicUpload` 设置为 `true`，则代理将在您的 S3 存储桶中创建文件夹。  
默认值：`sme-capture`

`CaptureDataDiskPath`  
此功能在 v1.1.0 及更高版本的 SageMaker AI Edge Manager 组件中可用。  
（可选）代理创建捕获的数据文件夹的文件夹路径。如果将 `CaptureDataDestination` 设置为 `Disk`，则代理将在此目录中创建捕获的数据文件夹。如果您未指定此值，则代理将在组件的工作目录中创建捕获的数据文件夹。使用 `FolderPrefix` 参数指定捕获的数据文件夹的名称。  
默认值：`/greengrass/v2/work/aws.greengrass.SageMakerEdgeManager/capture`

`LocalDataRootPath`  
此功能在 v1.2.0 及更高版本的 SageMaker AI Edge Manager 组件中可用。  
（可选）此组件在核心设备上存储以下数据的路径：  
+ 将 `DbEnable` 设置为 `true` 时，运行时数据的本地数据库。
+ SageMaker AI 新编译模型，当您设置`DeploymentEnable`为时，此组件会自动下载这些模型。`true`
默认值：`/greengrass/v2/work/aws.greengrass.SageMakerEdgeManager`

`DbEnable`  
（可选）您可以启用此组件，将运行时数据存储在本地数据库中，以便在组件出现故障或设备断电时保留数据。  
此数据库在核心设备的文件系统上需要 5 MB 的存储空间。  
默认值：`false`

`DeploymentEnable`  
此功能在 v1.2.0 及更高版本的 SageMaker AI Edge Manager 组件中可用。  
（可选）您可以启用此组件以自动检索您上传到 Amazon S3 的 SageMaker AI Neo 编译模型。将新模型上传到 Amazon S3 后，使用 SageMaker AI Studio 或 SageMaker AI API 将新模型部署到该核心设备。启用此功能后，无需创建 AWS IoT Greengrass 部署即可将新模型部署到核心设备。  
要使用此功能，必须将 `DbEnable` 设置为 `true`。此功能使用本地数据库来跟踪从 AWS 云中检索的模型。
默认值：`false`

`DeploymentPollInterval`  
此功能在 v1.2.0 及更高版本的 SageMaker AI Edge Manager 组件中可用。  
（可选）此组件检查要下载的新模型之间的间隔时间（以分钟为单位）。此选项适用于将 `DeploymentEnable` 设置为 `true` 时。  
默认值：`1440`（1 天）。

`DLRBackendOptions`  
此功能在 v1.2.0 及更高版本的 SageMaker AI Edge Manager 组件中可用。  
（可选）在此组件使用的 DLR 运行时中设置的 DLR 运行时标志。您可以使用以下标志：  
+ `TVM_TENSORRT_CACHE_DIR` – 启用 TensorRT 模型缓存。指定具有读/写权限的现有文件夹的绝对路径。
+ `TVM_TENSORRT_CACHE_DISK_SIZE_MB` – 指定 TensorRT 模型缓存文件夹的上限。目录大小超过此限制时，将会删除使用最少的缓存引擎。默认值为 512 MB。
例如，您可以将此参数设置为以下值，以启用 TensorRT 模型缓存并将缓存大小限制为 800 MB。  

```
TVM_TENSORRT_CACHE_DIR=/data/secured_folder/trt/cache; TVM_TENSORRT_CACHE_DISK_SIZE_MB=800
```

`SagemakerEdgeLogVerbose`  
（可选）指定是否启用调试日志记录的字符串值。支持的值为 `true` 和 `false`。  
默认值：`false`

`UnixSocketName`  
（可选） SageMaker AI Edge Manager 套接字文件描述符在核心设备上的位置。  
默认值：`/tmp/aws.greengrass.SageMakerEdgeManager.sock`

**Example 示例：配置合并更新**  
以下示例配置指定核心设备是的一部分，*MyEdgeDeviceFleet*并且代理将捕获数据写入设备和 S3 存储桶。此配置还会启用调试日志记录。  

```
{
    "DeviceFleetName": "MyEdgeDeviceFleet",
    "BucketName": "amzn-s3-demo-bucket",
    "CaptureDataDestination": "Disk",
    "CaptureDataPeriodicUpload": "true",
    "SagemakerEdgeLogVerbose": "true"    
}
```

## 本地日志文件
<a name="sagemaker-edge-manager-component-log-file"></a>

此组件使用以下日志文件。

------
#### [ Linux ]

```
/greengrass/v2/logs/aws.greengrass.SageMakerEdgeManager.log
```

------
#### [ Windows ]

```
C:\greengrass\v2\logs\aws.greengrass.SageMakerEdgeManager.log
```

------

**查看此组件的日志**
+ 在核心设备上运行以下命令可实时查看此组件的日志文件。将`/greengrass/v2`或*C:\$1greengrass\$1v2*替换为 AWS IoT Greengrass 根文件夹的路径。

------
#### [ Linux ]

  ```
  sudo tail -f /greengrass/v2/logs/aws.greengrass.SageMakerEdgeManager.log
  ```

------
#### [ Windows (PowerShell) ]

  ```
  Get-Content C:\greengrass\v2\logs\aws.greengrass.SageMakerEdgeManager.log -Tail 10 -Wait
  ```

------

## 更改日志
<a name="sagemaker-edge-manager-component-changelog"></a>

下表介绍每个组件版本的更改。


|  **版本**  |  **更改**  | 
| --- | --- | 
|  1.3.6  |  对 Greengrass Nucleus 2.12.5 发行版进行了版本更新。  | 
|  1.3.5  | 版本更新为 Greengrass Nucleus 版本 2.12.0 发布版。 | 
|  1.3.4  | 版本更新为 Greengrass Nucleus 版本 2.11.0 发布版。 | 
|  1.3.3  | 版本更新为 Greengrass Nucleus 版本 2.10.0 发布版。 | 
|  1.3.2  | 对 Greengrass Nucleus版本 2.9.0 发行版进行了版本更新。 | 
|  1.3.1  | 版本更新为 Greengrass Nucleus 版本 2.8.0 发布版。 | 
|  1.3.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/greengrass/v2/developerguide/sagemaker-edge-manager-component.html)  | 
|  1.2.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/greengrass/v2/developerguide/sagemaker-edge-manager-component.html)  | 
|  1.1.1  |  版本更新为 Greengrass Nucleus 版本 2.7.0 发布版。  | 
|  1.1.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/greengrass/v2/developerguide/sagemaker-edge-manager-component.html)  | 
|  1.0.3  |  版本更新为 Greengrass Nucleus 版本 2.4.0 发布版。  | 
|  1.0.2  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/greengrass/v2/developerguide/sagemaker-edge-manager-component.html)  | 
|  1.0.1  |  版本更新为 Greengrass Nucleus 版本 2.3.0 发布版。  | 
|  1.0.0  |  初始版本。  | 