导出导入模型


创建模型后,你可能必须根据需要更改其元素或添加新元素。EnOS 模型管理提供了将模型导出为 Excel 文件或者 JSON 文件的模板功能,用户可以选择熟悉的工具进行批量编辑后导入,完成模型功能的批量创建或者修改。


如果模型是在不同的 EnOS 环境或 OU 下创建的,用导出导入功能即可完成模型的专稿。

注解

同一个 EnOS 环境中,模型名称必需全局唯一,如果一个存在 OU 使用了对应的模型名称,需要使用新模型名来创建,使用新的模型名不会影响模型的导入。

前提条件

  • 你需要获得模型相关的权限。如果你没有该权限,联系你的 OU 管理员以获取。更多信息,参见 策略、角色与权限
  • 确保已阅读模型的使用限制。参见 使用限制

操作步骤

要编辑现有模型,先导出模型,然后编辑下载的文件并导入以替换现有模型。

注解

当通过导入更新模型时,文件中的功能定义信息将完全覆盖现有模型的信息,即,如果现有模型有 3 个属性,而导入文件中没有,导入后模型将没有属性。

导出模型

  1. 在 EnOS 管理控制台中选择 模型。点击 批量导出
  2. 导出有两种方式。点击 导出全部 以导出在列表中所有的模型,或从列表中选择需要导出的模型,点击 导出勾选项
  3. 选择导出的文件格式:Excel 或 JSON。点击 确定
  4. 将包含 Excel 或 JSON 文件的压缩包保存到本地目录。每个文件代表一个模型,其文件名称包含模型的 model ID。

导入模型

该功能能使用 Excel 或 JSON 批量创建新模型或批量更新模型。批量导入已存在的模型将更新原有模型的信息。若模型不存在,将新建模型。


对于模型的创建和更新,建议使用 Excel 导入方式。

注解

从父级模型继承或标准功能库添加的功能定义中不可修改的字段将在导入过程中被跳过。

Excel 方式

  1. 在 EnOS 管理控制台中选择 模型

  2. 点击 导入模型

  3. 上传包含一个或多个模型 .xlsx 文件的压缩包。对于文件大小的限制,参见弹出窗口中的信息。有关别的限制,参见 使用限制


    若需要模板,可点击 下载空白模板 或从 模板 下拉框选择一个或多个当前模型,然后点击 生成模板 以下载一个压缩包,其中包含基于所选模型而生成的 Excel 模板。下载后请编辑模板,压缩并上传文件。


模板参数 - 基本信息工作表
名称 必需/可选 描述
组织 ID 必需 模型所在的 OU 的 OU ID。
Model ID 必需
  • 创建新模型,填写模型的 ID。长度限制 1- 64 字符。支持英文字母,数字和特殊字符 -_.,其中请勿出现空格。
  • 更新模型,Model ID 必须与更新的模型的 model ID 匹配。如果找不到,将创建新模型。
默认模型名称 必需 当没有给出其他语言的模型名称时,将使用默认模型名称。长度限制 1 - 64 字符。
国际化模型名称 可选 模型的英文、中文、日语、德语等名称。如果未填写,将使用默认模型名称。长度限制 1 - 64 字符。
模型描述 可选 模型的描述,不超过 512 字符。
分类 可选 诸如厂商、设备型号等的产品扩展信息,不支持输入 <>;@*%&\,不超过 64 字符。
模型标签 可选 以键值对形式的模型标签。格式为 JSON,键和值都必须为 String。示例:{“key”:”value”}
父模型

取决于创建新模型或更新模型。

详细信息,参见描述。

  • 创建新模型,输入当前模型的 model ID 以继承其属性、测量点、服务和事件。
  • 更新模型,则忽略。
创建人 N/A 此字段在导出模型时将显示创建模型者。导入时则忽略。
创建时间 N/A 此字段在导出模型时将显示模型创建的时间。导入时则忽略。
变更人 N/A 此字段在导出模型时将显示变更人。导入时则忽略。
最后更新时间 N/A 此字段在导出模型时将显示最后更新模型的时间。导入时则忽略。


模板参数 - 属性工作表
名称 必需/可选 描述
标识符 必需 属性标识符。长度限制 1 - 64 字符。 支持英文字母,数字和特殊字符 -_.,其中请勿出现空格。
默认名称 必需 当没有给出其他语言的属性名称时,将使用默认属性名称。长度限制 1 - 64 字符。
英文名称 可选 属性的英文名称。如果未填写,将使用默认属性名称。长度限制 1 - 64 字符。
数据类型 必需 属性的数据类型。当数据类型为 string 时,最多 4000 字符。更多信息,参见 帮助 工作表。
数据定义 可选 根据 数据类型 的数据定义。示例可参见 帮助 工作表。
默认值 可选 属性的默认值。示例可参见 帮助 工作表。
单位 可选 属性的单位。
是否必填 可选
  • true:基于此模型创建设备时,该属性需要一个值。
  • false:基于此模型创建设备时,该属性不需要一个值。
默认描述 可选 当没有给出其他语言的属性描述时,将使用默认属性描述。最长 512 字符。
国际化描述 可选 属性的英文、中文、日语、德语等描述。如果未填写,将使用默认属性描述。最长 512 字符。
属性标签 可选 以键值对形式的属性标签。格式为 JSON,键和值都必须为 String。示例:{“key”:”value”}
序号 可选 在实际应用开发过程中,需要对模型功能定义快速定位时,可以使用序号。0 代表创建模型时初始化的属性。新增的属性从 1 开始依次加 1 递增。序号可以不连续,也可以重复或乱序的。
标准元素 ID 可选

标准属性的 URN。

格式:urn:enos:modelelement:std:<id>:<version>

<id> 为属性标识符,<version> 表示属性的版本。如果该属性不是标准属性,则不必填。<id> 与 <version> 可在 EnOS 管理控制台 > 模型 > 模型详情 > 功能定义 > 编辑 > 新增 > 从标准功能库添加 获取。

示例:urn:enos:modelelement:std:terminal_placement:1.0


模板参数 - 测点工作表
名称 必需/可选 描述
标识符 必需 测点标识符。长度限制 1 - 64 字符。 支持英文字母,数字和特殊字符 -_.,其中请勿出现空格。
默认名称 必需 当没有给出其他语言的测点名称时,将使用默认测点名称。长度限制 1 - 64 字符。
国际化名称 可选 测点的英文、中文、日语、德语等名称。如果未填写,将使用默认测点名称。长度限制 1 - 64 字符。
测点类型 必需 测点的类型。更多信息,参见 新增测点
数据类型 必需 所选 测点类型 数据类型。当测点功能的数据类型为 string 时,最多 1024 字符。更多信息,参见 新增测点
是否有质量位 可选

设置该测点值是否代表数据质量。

  • true:该测点代表数据质量。
  • false:该测点不代表数据质量。
数据定义 可选 根据 数据类型 的数据定义。示例可参见 帮助 工作表。
单位 可选 测点的单位。
默认描述 可选 当没有给出其他语言的测点描述时,将使用默认测点描述。最长 512 字符。
国际化描述 可选 测点的英文、中文、日语、德语等描述。如果未填写,将使用默认测点描述。最长 512 字符。
测点标签 可选 以键值对形式的测点标签。格式为 JSON,键和值都必须为 String。示例:{“key”:”value”}
序号 可选 在实际应用开发过程中,需要对模型功能定义快速定位时,可以使用序号。0 代表创建模型时初始化的测点。新增的测点从 1 开始依次加 1 递增。序号可以不连续,也可以重复或乱序的。
标准元素 ID 可选

标准测点的 URN。

格式:urn:enos:modelelement:std:<id>:<version>

<id> 为测点标识符,<version> 表示测点的版本。如果该测点不是标准测点,则不必填。<id> 与 <version> 可在 EnOS 管理控制台 > 模型 > 模型详情 > 功能定义 > 编辑 > 新增 > 从标准功能库添加 获取。

示例:urn:enos:modelelement:std:nominal_voltage:1.0


模板参数 - 服务工作表
名称 必需/可选 描述
标识符 必需 服务标识符。长度限制 1 - 64 字符。 支持英文字母,数字和特殊字符 -_.,其中请勿出现空格。
默认名称 必需 当没有给出其他语言的服务名称时,将使用默认服务名称。长度限制 1 - 64 字符。
国际化名称 可选 服务的英文、中文、日语、德语等名称。如果未填写,将使用默认服务名称。长度限制 1 - 64 字符。
输入参数 可选 服务的输入参数。有关示例,参见下文。
输出参数 可选 服务的输出参数。有关示例,参见下文。
默认描述 可选 当没有给出其他语言的服务描述时,将使用默认服务描述。最长 512 字符。
国际化描述 可选 服务的英文、中文、日语、德语等描述。如果未填写,将使用默认服务描述。最长 512 字符。
服务标签 可选 以键值对形式的服务标签。格式为 JSON,键和值都必须为 String。示例:{“key”:”value”}
序号 可选 在实际应用开发过程中,需要对模型功能定义快速定位时,可以使用序号。0 代表创建模型时初始化的服务。新增的服务从 1 开始依次加 1 递增。序号可以不连续,也可以重复或乱序的。
标准元素 ID 可选

标准服务的 URN。

格式:urn:enos:modelelement:std:<id>:<version>

<id> 为服务标识符,<version> 表示服务的版本。如果该服务不是标准服务,则不必填。<id> 与 <version> 可在 EnOS 管理控制台 > 模型 > 模型详情 > 功能定义 > 编辑 > 新增 > 从标准功能库添加 获取。

示例:urn:enos:modelelement:std:opModConnect:1.0


模板参数 - 事件工作表
名称 必需/可选 描述
标识符 必需 事件标识符。长度限制 1 - 64 字符。 支持英文字母,数字和特殊字符 -_.,其中请勿出现空格。
默认名称 必需 当没有给出其他语言的事件名称时,将使用默认事件名称。长度限制 1 - 64 字符。
国际化名称 可选 事件的英文、中文、日语、德语等名称。如果未填写,将使用默认事件名称。长度限制 1 - 64 字符。
事件类型 可选 事件的类型。更多信息,参见 新增事件
输出参数 可选 事件的输出参数。有关示例,参见下文。
默认描述 可选 当没有给出其他语言的事件描述时,将使用默认事件描述。最长 512 字符。
国际化描述 可选 事件的英文、中文、日语、德语等描述。如果未填写,将使用默认事件描述。最长 512 字符。
事件标签 可选 以键值对形式的事件标签。格式为 JSON,键和值都必须为 String。示例:{“key”:”value”}
序号 可选 在实际应用开发过程中,需要对模型功能定义快速定位时,可以使用序号。0 代表创建模型时初始化的事件。新增的事件从 1 开始依次加 1 递增。序号可以不连续,也可以重复或乱序的。
标准元素 ID 可选

标准事件的 URN。

格式:urn:enos:modelelement:std:<id>:<version>

<id> 为事件标识符,<version> 表示事件的版本。如果该事件不是标准事件,则不必填。<id> 与 <version> 可在 EnOS 管理控制台 > 模型 > 模型详情 > 功能定义 > 编辑 > 新增 > 从标准功能库添加 获取。

示例:urn:enos:modelelement:std:opModConnect:1.0


注解

  • 表格中请勿出现空行,否则可能导致文件无法导入成功。
  • 每个 Excel 文件代表 1 个模型,因此,只会使用第一行数据,所有后续行都将被忽略。


../../_images/model_batch_import.png


4. 点击 导入

5. 如果无效记录存在,将弹出窗口显示错误消息和 下载错误文件 链接。 点击链接下载文件,检查错误原因,并纠正错误,然后重新上传文件。

6. 新模型导入成功后将会出现在 模型 的模型列表中。


输入/输出参数示例


  • 输入参数示例
[
  {
    "required": "FALSE", //whether param is required when invoking service
    "identifier": "paramID",
    "name": {
      "defaultValue": "Param Name",
      "i18nValue": {}
    },
    "dataType": "string",
    "dataDefinition": "{\n  \"maxLength\": 64\n}"
  }
]


  • 输出参数示例
[
  {
    "required": "FALSE",//whether param is required when invoking service/reporting event
    "identifier": "paramOutput",
    "name": {
      "defaultValue": "Output Name",
      "i18nValue": {}
    },
    "dataType": "INT",
    "unit": "%"
  }
]

JSON 方式

  1. 在 EnOS 管理控制台中选择 模型

  2. 点击 导入模型

  3. 上传包含一个或多个模型 .json 文件的压缩包。对于文件大小和模型的限制,参见弹出窗口中的信息。


    若需要模板,可点击 下载空白模板 或从 模板 下拉框选择一个或多个当前模型,然后点击 生成模板 以下载一个压缩包,其中包含基于所选模型而生成的 JSON 模板。下载后请编辑模板,压缩并上传文件。

  4. 点击 导入

  5. 如果无效记录存在,将弹出窗口显示错误消息和 下载错误文件 链接。 点击链接下载文件,检查错误原因,并纠正错误,然后重新上传文件。

  6. 新模型导入成功后将会出现在 模型 的模型列表中。