文档首页/ 工业数字模型驱动引擎/ API参考/ API/ 数据建模引擎/ 系统版本/ 数据实例指定版本对比 - CompareVersion
更新时间:2026-07-28 GMT+08:00
分享

数据实例指定版本对比 - CompareVersion

功能介绍

本接口用于对比指定数据实例两个版本之间的属性差异和关系差异,返回基础版本对象及差异对比结果。

建议使用数据建模引擎(xDM Foundation,简称xDM-F)新增的差异对比功能,即使用instance-attrs-comparison(属性对比)和instance-relation-comparison(关系对比)接口。更多内容可在应用运行态的“数据服务管理 > 全量数据服务 > 系统管理API > 属性对比API”中查看。

在调用本接口前,请确保目标数据模型满足以下条件:

  1. 已在应用设计态创建并发布一个具有“系统版本”功能的数据模型。具体操作请参见创建数据实体创建关系实体应用发布

  2. 已将对应应用成功部署至运行态。具体操作请参见部署应用

接口约束

  • 目标数据模型已在应用设计态配置了“系统版本”功能。

  • 对比的两个版本必须属于同一数据实例(id相同)。

调试

您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。

授权信息

账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限,具体权限要求请参见权限和授权项

URI

POST /rdm_{identifier}_app/publicservices/api/{modelName}/compareVersion

表1 路径参数

参数

是否必选

参数类型

描述

identifier

String

参数解释:

应用的唯一标识。

  • 于2023年06月01日之前创建的应用,其唯一标识为该应用的名称。

  • 于2023年06月01日之后创建的应用,其唯一标识为该应用的ID。

获取方法请参见获取运行服务清单 - ListEnvs

约束限制:

不涉及。

取值范围:

  • 于2023年06月01日之前创建的应用:由英文字母和数字组成,长度为1-36个字符。

  • 于2023年06月01日之后创建的应用:由英文字母和数字组成,且长度为32个字符。

默认取值:

不涉及。

modelName

String

参数解释:

数据模型的英文名称。

约束限制:

不涉及。

取值范围:

以大写字母开头,只能包含字母、数字、“_”,且长度为1-60个字符。

默认取值:

不涉及。

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

参数解释:

IAM用户的token。

获取方法请参见获取IAM用户Token

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

表3 请求Body参数

参数

是否必选

参数类型

描述

applicationId

String

参数解释:

应用ID,用于指定实例所属的应用。

当URL路径中已能明确应用上下文时,此参数可不传。

获取方法请参见获取租户下的应用清单 - ListApps

约束限制:

不涉及。

取值范围:

  • 于2023年06月01日之前创建的应用:由英文字母和数字组成,长度为1-36个字符。

  • 于2023年06月01日之后创建的应用:由英文字母和数字组成,且长度为32个字符。

默认取值:

不涉及。

params

CompareVersionVO object

参数解释:

请求参数对象,包含待对比的实例ID及两个版本号。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

表4 CompareVersionVO

参数

是否必选

参数类型

描述

id

String

参数解释:

数据实例ID,用于指定待对比版本的数据实例。

获取方法请参见分页查询实例 - ShowFindUsingPost

约束限制:

不涉及。

取值范围:

-9223372036854775808到9223372036854775807的整数。

默认取值:

不涉及。

basicVersion

String

参数解释:

基础版本号,作为对比的基准版本。对应系统版本号(rdmVersion)。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

correlationVersion

String

参数解释:

对比版本号,与基础版本进行对比的目标版本。对应系统版本号(rdmVersion)。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

响应参数

状态码:200

表5 响应Body参数

参数

参数类型

描述

result

String

参数解释:

请求处理结果状态。

取值范围:

  • SUCCESS:请求成功。

  • FAIL:请求失败。

data

Array of objects

参数解释:

版本对比数据。data[0]为基础版本对象,data[1]为当前版本对象和基础版本对象的差异数据。

取值范围:

不涉及。

errors

Array of strings

参数解释:

异常信息列表。当result为FAIL时,返回具体的错误描述,包含失败原因及建议处理方式。

取值范围:

不涉及。

请求示例

示例:对比数据实例两个版本间的差异

对比数据实例616714869831376896的版本1(基础版本)和版本2(对比版本)之间的属性差异和关系差异。

POST https://dme.cn-north-4.huaweicloud.com/rdm_04219627d6794f37ae26e8aba250415d_app/publicservices/api/HistoryDataModel/compareVersion

{
  "applicationId" : "04219627d6794f37ae26e8aba250415d",
  "params" : {
    "basicVersion" : "1",
    "correlationVersion" : "2",
    "id" : "616714869831376896"
  }
}

响应示例

状态码:200

OK,表示请求成功。

{
  "result": "SUCCESS",
  "data": [
    {
      "id": "616714869831376896",
      "creator": "xdmAdmin",
      "createTime": 2024-04-02T11:24:42.000+0000,
      "modifier": "xdmAdmin",
      "lastUpdateTime": 2024-04-02T11:24:42.000+0000,
      "rdmVersion": 1,
      "rdmOperationType": "CREATE",
      "rdmExtensionType": "HistoryDataModel",
      "rdmDeleteFlag": 0,
      "tenant": {
        "id": "-1",
        "creator": "xdmAdmin",
        "createTime": 2023-12-01T01:25:21.000+0000,
        "modifier": "xdmAdmin",
        "lastUpdateTime": 2023-12-01T01:25:21.000+0000,
        "rdmVersion": 1,
        "rdmOperationType": null,
        "rdmExtensionType": "Tenant",
        "rdmDeleteFlag": 0,
        "tenant": null,
        "className": "Tenant",
        "name": "basicTenant",
        "description": "默认租户",
        "kiaguid": null,
        "securityLevel": "internal",
        "nameEn": null,
        "code": "basicTenant",
        "disableFlag": false,
        "dataSource": "DefaultDataSource"
      },
      "className": "HistoryDataModel"
    },
    {
      "rdmVersion": 2,
      "rdmOperationType": "UPDATE",
      "modifier": "xdmAdmin2",
      "id": "616714869831376896"
    }
  ],
  "errors": []
}

状态码

状态码

描述

200

OK,表示请求成功。

错误码

请参见错误码

相关文档