

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

# 将组件部署到设备
<a name="edge-greengrass-deploy-components"></a>

使用 AWS IoT 控制台或使用部署组件 AWS CLI。

## 部署组件（控制台）
<a name="collapsible-section-gg-deploy-console"></a>

使用 AWS IoT 控制台部署 AWS IoT Greengrass 组件。

1. 在 AWS IoT Greengrass 控制台的[https://console.aws.amazon.com/iot/](https://console.aws.amazon.com/greengrass/)导航菜单中，选择**部署**。

1. 在**组件**页面的**公有组件**选项卡上，选择 `aws.greengrass.SageMakerEdgeManager`。

1. 在 `aws.greengrass.SageMakerEdgeManager` 页面上，选择**部署**。

1. 在 `Add to deployment` 中选择以下选项之一：

   1. 要将此组件合并到目标设备上的现有部署，请选择**添加到现有部署**，然后选择要修改的部署。

   1. 要在目标设备上创建新部署，请选择**创建新部署**。如果您的设备上已有部署，选择此步骤将替换现有部署。

1. 在**指定目标**页面中，执行以下操作：

   1. 在**部署信息**下，输入或修改部署的友好名称。

   1. 在**部署目标**下，选择部署目标，然后选择**下一步**。如果您正在修改现有部署，则无法更改部署目标。

1. 在**选择组件**页面的**我的组件**下，选择：
   + com。 {{<CUSTOM-COMPONENT-NAME>}}
   + `aws.greengrass.SageMakerEdgeManager`
   + SagemakerEdgeManager.{{<YOUR-PACKAGING-JOB>}}

1. 在 “**配置组件**” 页面上，选择 **com.greengrass。 SageMakerEdgeManager**，然后执行以下操作。

   1. 选择**配置组件**。

   1. 在**配置更新**下的**要合并的配置**中，输入以下配置。

      ```
      {
          "DeviceFleetName": "device-fleet-name",
          "BucketName": "{{bucket-name}}"
      }
      ```

      将 {{`device-fleet-name`}} 替换为您创建的边缘设备队列的名称，并将 {{`{{bucket-name}}`}} 替换为与您的设备队列关联的 Amazon S3 存储桶的名称。

   1. 选择**确认**，然后选择**下一步**。

1. 在**配置高级设置**页面上，保留默认配置设置，然后选择**下一步**。

1. 在 **检查** 页上，选择 **部署**。

## 部署组件 (AWS CLI)
<a name="collapsible-section-gg-deploy-cli"></a>

1. 创建一个` deployment.json`文件来定义 SageMaker Edge Manager 组件的部署配置。此文件应类似于以下示例。

   ```
   {
     "targetArn":"targetArn",
     "components": {
       "aws.greengrass.SageMakerEdgeManager": {
         "componentVersion": 1.0.0,
         "configurationUpdate": {
           "merge": {
             "DeviceFleetName": "device-fleet-name",
             "BucketName": "{{bucket-name}}"
           }
         }
       },
       "com.greengrass.SageMakerEdgeManager.ImageClassification": {
         "componentVersion": 1.0.0,
         "configurationUpdate": {
         }
       }, 
       "com.greengrass.SageMakerEdgeManager.ImageClassification.Model": {
         "componentVersion": 1.0.0,
         "configurationUpdate": {
         }
       }, 
     }
   }
   ```
   + 在 `targetArn` 字段中，按以下格式将 {{`targetArn`}} 替换为部署目标的事物或事物组的 Amazon 资源名称（ARN）：
     + 事物：`arn:aws:iot:{{region}}:{{account-id}}:thing/{{thingName}}`
     + 事物组：`arn:aws:iot:{{region}}:{{account-id:}}thinggroup/{{thingGroupName}}`
   + 在 `merge` 字段中，将 {{`device-fleet-name`}} 替换为您创建的边缘设备队列的名称，并将 {{`{{bucket-name}}`}} 替换为与您的设备队列关联的 Amazon S3 存储桶的名称。
   + 将每个组件的组件版本替换为最新的可用版本。

1. 运行以下命令以在设备上部署组件：

   ```
   aws greengrassv2 create-deployment \
       --cli-input-json file://path/to/deployment.json
   ```

完成部署可能需要数分钟。在下一步中，检查组件日志，以验证部署是否成功完成并查看推理结果。

有关将组件部署到单个设备或设备组的更多信息，请参阅[将 AWS IoT Greengrass 组件部署到设备](https://docs.aws.amazon.com/greengrass/v2/developerguide/manage-deployments.html)。