

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

# 在设备上部署 Amazon Kinesis Video Streams 边缘 AWS IoT Greengrass 代理组件
<a name="gs-deploy-edge"></a>

执行以下操作在设备上部署 Amazon Kinesis Video Streams Edge Ag AWS IoT Greengrass ent 组件：

**部署组件**

1. 使用提供的链接下载`tar`文件。

   如果你填写了 Amazon Kinesis Video Streams Edge Agent 意向表，请查看电子邮件中的下载链接。如果您尚未填写表格，请[在此处](https://pages.awscloud.com/GLOBAL-launch-DL-KVS-Edge-2023-learn.html)填写。

1. 验证校验和。

1. 提取设备中的二进制文件和 jar。

   类型：`tar -xvf kvs-edge-agent.tar.gz`。

   解压缩后，您的文件夹结构将如下所示：

   ```
   kvs-edge-agent/LICENSE
   kvs-edge-agent/THIRD-PARTY-LICENSES
   kvs-edge-agent/pom.xml
   kvs-edge-agent/KvsEdgeComponent
   kvs-edge-agent/KvsEdgeComponent/recipes
   kvs-edge-agent/KvsEdgeComponent/recipes/recipe.yaml
   kvs-edge-agent/KvsEdgeComponent/artifacts
   kvs-edge-agent/KvsEdgeComponent/artifacts/aws.kinesisvideo.KvsEdgeComponent
   kvs-edge-agent/KvsEdgeComponent/artifacts/aws.kinesisvideo.KvsEdgeComponent/EdgeAgentVersion
   kvs-edge-agent/KvsEdgeComponent/artifacts/aws.kinesisvideo.KvsEdgeComponent/EdgeAgentVersion/edge_log_config                   
   kvs-edge-agent/KvsEdgeComponent/artifacts/aws.kinesisvideo.KvsEdgeComponent/EdgeAgentVersion/kvs-edge-agent.jar
   kvs-edge-agent/KvsEdgeComponent/artifacts/aws.kinesisvideo.KvsEdgeComponent/EdgeAgentVersion/libgstkvssink.so
   kvs-edge-agent/KvsEdgeComponent/artifacts/aws.kinesisvideo.KvsEdgeComponent/EdgeAgentVersion/libIngestorPipelineJNI.so
   kvs-edge-agent/KvsEdgeComponent/artifacts/aws.kinesisvideo.KvsEdgeComponent/EdgeAgentVersion/lib
   kvs-edge-agent/KvsEdgeComponent/artifacts/aws.kinesisvideo.KvsEdgeComponent/EdgeAgentVersion/lib/libcproducer.so
   kvs-edge-agent/KvsEdgeComponent/artifacts/aws.kinesisvideo.KvsEdgeComponent/EdgeAgentVersion/lib/libKinesisVideoProducer.so
   ```
**注意**  
发行版文件夹名称的设置应反映最新的二进制版本号。例如，1.0.0 版本的文件夹名称将设置为 1.0.0。

1. 构建依赖关系 jar。
**注意**  
 kvs-edge-agent.tar.gz 中包含的 jar 没有依赖关系。使用以下步骤来构建这些库。

   导航到包含`kvs-edge-agent`的文件夹`pom.xml`。

   键入。`mvn clean package`

   这将生成一个 jar 文件，其中包含亚马逊 Kinesis Video Streams Edge Agent 所需的`kvs-edge-agent/target/libs.jar`依赖项。

1. 将 libs.jar 放入包含组件构件的文件夹中。

   键入。`mv ./target/libs.jar ./KvsEdgeComponent/artifacts/aws.kinesisvideo.KvsEdgeComponent/EdgeAgentVersion/`

1. **可选。**配置属性。Amazon Kinesis Video Streams Edge Agent AWS IoT Greengrass 在模式下接受以下环境变量：    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/kinesisvideostreams/latest/dg/gs-deploy-edge.html)

   打开`kvs-edge-agent/KvsEdgeComponent/recipes/recipe.yaml`并修改运行脚本以添加上述任何环境变量。
**重要**  
确保修改后的运行脚本不包含任何制**表**符。 AWS IoT Greengrass 核心软件将无法读取食谱。

1. 部署 Amazon Kinesis Video Streams 边缘 AWS IoT Greengrass 代理组件。

   类型：

   ```
   sudo /greengrass/v2/bin/greengrass-cli deployment create \
     --recipeDir <download location>/kvs-edge-agent/KvsEdgeComponent/recipes/ \
     --artifactDir <download location>/kvs-edge-agent/KvsEdgeComponent/artifacts/ \
     --merge "aws.kinesisvideo.KvsEdgeComponent=EdgeAgentVersion"
   ```

   有关更多信息，请参阅《*AWS IoT Greengrass Version 2 开发人员指南》*中的以下章节：
   + [AWS IoT Greengrass CLI 命令](https://docs.aws.amazon.com//greengrass/v2/developerguide/gg-cli-reference.html)
   + [将 AWS IoT Greengrass 组件部署到设备](https://docs.aws.amazon.com//greengrass/v2/developerguide/manage-deployments.html)

1. 使用向应用程序发送配置 AWS CLI。

   1. 创建一个新文件，`example-edge-configuration.json`。

      将以下代码粘贴到该文件中。这是一个配置示例，每天从上午 9:00:00 到下午 4:59:59（根据设备上的系统时间）进行记录。 AWS IoT 它还会在每天晚上 7:00:00 至晚上 9:59:59 上传录制的媒体。

      有关更多信息，请参阅 [StartEdgeConfigurationUpdate](API_StartEdgeConfigurationUpdate.md)。

      ```
      {
          "StreamARN": "arn:aws:kinesisvideo:your-region:your-account-id:stream/your-stream/0123456789012",
          "EdgeConfig": {
              "HubDeviceArn": "arn:aws:iot:your-region:your-account-id:thing/kvs-edge-agent-demo",
              "RecorderConfig": {
                  "MediaSourceConfig": {
                      "MediaUriSecretArn": "arn:aws:secretsmanager:your-region:your-account-id:secret:your-secret-dRbHJQ",
                      "MediaUriType": "RTSP_URI"
                  },
                  "ScheduleConfig": {
                      "ScheduleExpression": "0 0 9,10,11,12,13,14,15,16 ? * * *",
                      "DurationInSeconds": 3599
                  }
              },
              "UploaderConfig": {
                  "ScheduleConfig": {
                      "ScheduleExpression": "0 0 19,20,21 ? * * *",
                      "DurationInSeconds": 3599
                  }
              },
              "DeletionConfig": {
                  "EdgeRetentionInHours": 15,
                  "LocalSizeConfig": {
                    "MaxLocalMediaSizeInMB": 2800,
                    "StrategyOnFullSize": "DELETE_OLDEST_MEDIA"
                  },
                  "DeleteAfterUpload": true
              }
          }
      }
      ```

   1. 在中键入以下内容将文件发送 AWS CLI 到 Amazon Kinesis Video Streams Edge Agent：

      ```
      aws kinesisvideo start-edge-configuration-update --cli-input-json "file://example-edge-configuration.json"
      ```

1. 对亚马逊 Kinesis Video Streams Edge Agent 的每个直播重复上一个步骤。