
# 新建技能版本
首次新建技能，很难一次性就创建出最佳的技能，可能需要结合实际业务情况不断迭代优化。
专业版HiLens控制台提供新建技能版本的功能，可基于已有技能版本，通过调整技能的配置参数，创建新的技能版本。
#### 前提条件
已在专业版HiLens控制台[新建技能](https://support.huaweicloud.com/usermanualpro-hilens/hilens_07_0039.html)。
#### 1.新建技能版本
1. 登录专业版华为HiLens管理控制台，在左上角单击"专业版"，切换至专业版控制台。
2. 在左侧导航栏中选择"技能开发\>技能管理"，进入技能列表。
3. 选择要新建版本的技能，单击操作列的"新建版本"。 进入技能基础信息填写页面。
   
 
#### 2.填写基础信息
在新建技能页面填写基本信息，参数说明请见[表1](https://support.huaweicloud.com/usermanualpro-hilens/hilens_07_0039.html#hilens_07_0039__table16724173115368)，填完基本信息后单击右下角的"下一步"，配置启动参数。其中，"技能版本"的版本号应该高于之前的版本号。
表1技能基本信息参数说明 
| 参数      | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
|:---|:---|
| 技能名称    | 技能的名称，下发到端侧也使用该名称作为根目录，默认为技能新建时的名称，不可修改。 可输入中文、字母、数字、下划线或中划线，必须以中文、字母开头，以中文、字母或数字结尾，长度3\~60个字符。 说明： 由于技能市场不允许存在同名技能，所以如果想发布到技能市场，请使用全局唯一的名称对您的技能进行命名。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| 技能版本    | 技能的版本。版本号格式为"A.A.A"，"A"为不超过3位的自然数。例如"1.0.0"。 当"A"超过一位时，不允许以"0"开头，比如禁止输入"01.0.0"。 版本号应当高于之前的版本号。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| 适用设备类型  | 技能适用的设备类型，包括Windows、Atlas 500、通用x86设备、通用ARM设备、SDC等设备类型。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| 应用场景    | 技能适用的场景，例如"园区"、"工业"、"零售"、"金融"等场景。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| 技能图标    | 技能的头像。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| 标签      | 待创建技能的标签。 单击"添加标签"，填写标签键和标签值。 只允许大小写字母、数字、下划线和中划线，不允许为空。标签名不允许重复，最大长度为36个字符；标签值最大长度为43个字符。 如果删除标签，可单击"操作"列的"删除"。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| 简介      | 对技能的简单介绍。 最大长度512，不允许输入\~\^$%\&等特殊字符。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| 描述      | 对技能的详细介绍。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| 技能格式    | 支持"技能包"和"容器镜像"两种格式，具体格式要求请见[技能包](https://support.huaweicloud.com/usermanualpro-hilens/hilens_07_0025.html#hilens_07_0025__section55821301472)和[容器镜像](https://support.huaweicloud.com/usermanualpro-hilens/hilens_07_0025.html#hilens_07_0025__section485218261274)。 - 技能格式选择"技能包" 技能包路径：单击"选择OBS地址"，选择RPM技能包在OBS的存储路径。   - 技能格式选择"容器镜像" - 镜像类型：支持镜像类型为"ModelBox镜像"和"普通镜像"。  - 镜像路径：单击"选择SWR地址"，选择容器镜像在OBS的存储路径。     |
| RootKey | 使用ModelBox开发框架的加密工具ModelBox Tool加密模型后，可获取Root Key。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| 模型密钥    | 使用ModelBox开发框架的加密工具ModelBox Tool加密模型后，可获取模型密钥。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
   
#### 3.配置启动参数
在"启动参数配置"页面填写配置信息，然后单击右下角的"下一步"。
![](https://support.huaweicloud.com/usermanualpro-hilens/public_sys-resources/note_3.0-zh-cn.png)
"启动命令"、"环境变量"、"网络配置"、"数据存储"等均不是必填项，如需要配置，可选择性填写配置信息。
- **参数复用**
  可选择使用其他技能的部署和作业参数作为新建技能的默认值。
  打开开关后，单击"选择技能"，在对话框中勾选已有技能，单击"确定"。
  
- **基础配置**
  选择是否开启特权开关。开启后，容器将可以访问主机上的所有设备。
  
- **启动命令**
  设置容器启动时执行的命令。
  未填写则镜像启动运行默认命令，填写后可运行特定命令，需要用到以下设置：
  - 运行命令：控制镜像运行的实际命令。
  
  - 运行参数：传递给运行命令的参数。
   
- **环境变量**
  在容器中添加环境变量，用于设置技能运行时的变量，可通过修改部署配置来。
  在"环境变量"页签，单击"添加环境变量"，当前支持"手动添加"、"密钥导入"、"配置项导入"、"变量引入"。
  - 手动添加：输入变量名称、变量值。
    表2手动添加环境变量 
    | 参数   | 说明                                                                                                          |
    |:---|:---|
    | 类型   | 手动添加。                                                                                                       |
    | 变量名称 | 自定义填写变量名称，如demo。 不能为空，以字母或下划线开头，只允许输入字母、数字和下划线，且最大长度不超过2048。 |
    | 变量值  | 输入变量的值，如value。不允许输入#\^ $\| % \& \* \< \> ( ) 且不能超过20480个字符。                                                 |
       
    
  
  - 密钥导入：输入变量名称，选择导入的密钥名称和数据。您需要提前创建密钥，具体请参见[创建密钥](https://support.huaweicloud.com/usermanualpro-hilens/hilens_07_0063.html)。
    表3密钥导入环境变量 
    | 参数         | 说明                                                                                                         |
    |:---|:---|
    | 类型         | 密钥导入。                                                                                                      |
    | 变量名称       | 自定义填写变量名称，如demo。 不能为空，以字母或下划线开头，只允许输入字母、数字和下划线，且最大长度不超过2048。 |
    | 配置项名称/密钥名称 | 请选择对应的配置项名称/密钥名称。                                                                                          |
    | 配置项键/密钥键   | 请选择对应的配置项键/密钥键。                                                                                            |
       
    
  
  - 配置项导入：输入变量名称，选择导入的配置项名称和数据。您需要提前创建配置项，具体请参见[管理配置项](https://support.huaweicloud.com/usermanualpro-hilens/hilens_07_0064.html)。
    表4配置项导入环境变量 
    | 参数         | 说明                                                                                                         |
    |:---|:---|
    | 类型         | 配置项导入。                                                                                                     |
    | 变量名称       | 自定义填写变量名称，如demo。 不能为空，以字母或下划线开头，只允许输入字母、数字和下划线，且最大长度不超过2048。 |
    | 配置项名称/密钥名称 | 配置项名称/密钥名称。                                                                                                |
    | 配置项键/密钥键   | 配置项键/密钥键。                                                                                                  |
       
    
  
  - 变量引入：输入变量名称。
   
- **网络配置**
  创建一个网络配置参数表。容器镜像应用的访问支持使用主机网络或使用端口映射。
  - 端口映射：单击"添加端口映射"，填写容器端口和主机网卡地址，选择主机端口，参数说明请见[表5]。
     表5端口映射参数说明 
    | 参数     | 说明                                                                                                                                                                                                                                                                                                                                                                              |
    |:---|:---|
    | 容器端口   | 输入1\~65535之间的整数，不能为空。                                                                                                                                                                                                                                                                                                                                                           |
    | 主机网卡地址 | 输入不能为空，输入有效的IP地址。                                                                                                                                                                                                                                                                                                                                                               |
    | 主机端口号  | - 指定：输入主机端口。不能为空，输入值为1\~65535之间的整数。  - 自动获取："下限"不能为空，输入值为1\~65535的整数，端口下限需小于端口上限；"上限"不能为空，输入值为1\~65535的整数。   单击操作列的"删除"，可删除端口映射。 |
       
    
  
  - 主机网络：单击主机网络即可。
   
- **数据存储**
  创建一个数据存储环境变量表。给容器挂载数据存储，支持本地磁盘和云存储，适用于需持久化存储、高磁盘IO等场景。
  单击"添加挂载卷"，按[表6]填写挂载卷信息。
   表6挂载卷参数说明 
  | 参数    | 说明                                                                                                                                                                                                                                                                                                         |
  |:---|:---|
  | 挂载卷名称 | 不能为空，输入小写字母或数字且不超过63个字符。                                                                                                                                                                                                                                                                                   |
  | 存储卷类型 | 仅支持"主机路径"和"临时路径"。                                                                                                                                                                                                                                                                                          |
  | 磁盘源   | - 主机路径下，输入不能为空，以/开头，仅包含字母数字/- _.且长度不能超过255个字符。  - 临时路径下为默认。   |
  | 挂载路径  | 不能为空，以/开头，仅允许英文、数字\\_-且不超过1024个字符。                                                                                                                                                                                                                                                                         |
  | 存储介质  | - 主机路径下为默认。  - 临时路径下可选择"内存"、"磁盘"。                            |
  | 权限    | 可选择"读写"和"只读"。 单击操作列的"删除"，可删除挂载卷。                                                                                                                                                                                                                           |
     
  
 
#### 4.添加作业
在"添加作业配置"页面填写配置信息，然后单击右下角的"确定"。
- **名称**
  作业的名称，用户自定义。以小写英文字母开头，非中划线结尾，仅允许输入小写英文字母、数字、中划线和下划线，且长度为4\~64个字符。
  
- **描述**
  作业的描述。输入为非#\^ $\| % \& \* \< \> ( ) ' " /且长度不能超过255个字符。
  
- **输入**
  技能运行时，数据输入来源，输入当前支持"摄像头"、"URL"、"Edge Restful"、"VCN"。
  表7输入参数说明 
  | 参数             | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
  |:---|:---|
  | "摄像头"          | 设置待开发技能从摄像头输入数据，并设置"资源限制"和"每实例数路数限制"。 - "资源限制" 设置视频流计算所需的计算资源。申请资源量指预留的最小计算资源，限制资源量指预留的最大计算资源。当接入路数计算所需资源超过所有实例的剩余资源时，该路视频流可能无法计算。 - 起始资源：即作业中接入第1路摄像头的视频流时，计算所需的基础资源。  - 每增加1路所需资源：作业中每增加1路摄像头时所需的计算资源。    - "每实例数路数限制" 每个实例下可接入摄像头总数的最大值。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
  | "URL"          | 设置待开发技能从URL输入数据。 - 添加URL 请输入长度不超过255，且合法的云侧算法地址，例如"https://test1.test2.test3"。 可单击"添加URL"，添加多个URL。 可单击![](https://support.huaweicloud.com/usermanualpro-hilens/zh-cn_image_0000001196807266.png "点击放大")，删除URL。   - 设置"计算资源" 计算资源指分配给每个实例的计算资源。分别设置cpu核数、内存大小的申请资源量和限制资源量。确认是否其AI加速卡。 - 申请资源量：预留给每个实例的最小计算资源。  - 限制资源量：每个实例可使用的最大计算资源。当技能运行所需资源大于所有实例的限制资源时，技能可能无法运行。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
  | "Edge Restful" | 设置待开发技能从Edge Restful输入数据。 - 添加Edge Restful 单击"添加配置"，可添加多个Edge Restful。 - URL：视频流服务器提供用于获取rtsp地址的rest接口，仅支持http或https协议。  - rtsp地址相对位置：在视频流服务器提供的响应体中，rtsp地址的相对位置。例如："data/url"表示rtsp地址在"{data:{url:'rtsp://url'}}"中的相对位置。  - 请求头：输入"属性名"和"属性值"。单击"添加消息头"，可添加多个请求头。单击![](https://support.huaweicloud.com/usermanualpro-hilens/zh-cn_image_0000001196610456.png "点击放大")，可删除请求头。    - 设置"计算资源" 计算资源指分配给每个实例的计算资源。分别设置cpu核数、内存大小的申请资源量和限制资源量。确认是否其AI加速卡。 - 申请资源量：预留给每个实例的最小计算资源。  - 限制资源量：每个实例可使用的最大计算资源。当技能运行所需资源大于所有实例的限制资源时，技能可能无法运行。     |
  | "VCN"          | 设置待开发技能从VCN输入数据，设置"资源限制"和"每实例数路数限制"。 - "资源限制" 设置视频流计算所需的计算资源。申请资源量指预留的最小计算资源，限制资源量指预留的最大计算资源。当接入路数计算所需资源超过所有实例的剩余资源时，该路视频流可能无法计算。 - 起始资源：即作业中接入第1路摄像头的视频流时，计算所需的基础资源。  - 每增加1路所需资源：作业中每增加1路摄像头时所需的计算资源。    - "每实例数路数限制" 每个实例下可接入摄像头总数的最大值。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
     
  
- **输出**
  技能运行时，数据输出位置，当前支持"OBS"、"DIS"、"Webhook"、"Local Path"。
  表8输出参数说明 
  | 参数           | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
  |:---|:---|
  | "OBS"        | 设置待开发的技能可输出数据至OBS。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
  | "DIS"        | 设置待开发的技能可输出数据到数据接入服务（Data Ingestion Service，简称DIS）。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
  | "Webhook"    | 设置待开发的技能可输出数据到Webhook。 - URL：输出数据的URL地址，仅支持http或https协议。不能为空，请输入长度不超过255个字符，且合法的云侧算法地址。  - 请求头：输入"属性名"和"属性值"。单击"添加消息头"，可添加多个请求头。单击![](https://support.huaweicloud.com/usermanualpro-hilens/zh-cn_image_0000001196450492.png "点击放大")，可删除请求头。   |
  | "Local Path" | 设置待开发的技能可输出数据到Local Path。选择"输出数据类型"，填写"挂载源路径"。 - 输出数据类型：输出数据类型包括"FaceImage"和"OriginImage"。  - 挂载源路径：输出数据路径。反斜杠"/"开头和结尾，只允许英文数字和下划线。                                                                                                            |
     
  
- **参数配置**
  部分技能在运行的时候，需要用户配置相关的参数。比如一般人脸判断的技能都需要用户上传人脸库，运行技能时就需要配置相关的参数。
  单击"添加参数"，在对话框中添加用户使用技能时需配置的参数。
  表9添加参数说明 
  | 参数   | 说明                                                                                                                               |
  |:---|:---|
  | 参数名称 | 参数名。技能或容器镜像里可用该参数获取该参数的值。用户在添加技能作业时需要配置参数名称和参数的值。不能为空。                                                                           |
  | 类型   | 参数值的类型，表示该参数项的值是什么类型的数据。支持"int"、"float"、"string"、"enum"类型。                                                                       |
  | 固定值  | 必填项，选择该参数是否是固定值。                                                                                                                 |
  | 默认值  | 参数默认值。                                                                                                                           |
  | 校验规则 | 请输入一个合法的正则表达式字符串。                                                                                                                |
  | 参数说明 | 参数的说明，包括参数值的范围及限制条件等。例如"在string类型下，输入不能为空，建议设置字符数"。 不允许输入#\~$\^等特殊字符且最大长度不超过512。 |
     
  
 
#### 5.完成新建技能版本
上述参数填写完成后，单击右下角的"确定"，完成技能版本更新。
创建完成后，您的技能将进入"技能开发\>技能管理"页面。
