修订M-V模型数据实例 - ExecuteRevise
功能介绍
本接口用于对指定的Master-Branch-Version(M-V)模型实例执行修订(Revise)操作。
调用本接口后,系统会基于指定的主对象(Master)及其当前最新修订版本,复制并生成一个新的修订版本实例。
在调用本接口前,请确保目标数据模型满足以下条件:
接口约束
本接口仅支持M-V模型数据实例,不支持普通单实体或关系实体。
调试
您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。
授权信息
账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限,具体权限要求请参见权限和授权项。
URI
POST /rdm_{identifier}_app/publicservices/api/{modelName}/revise
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| identifier | 是 | String | 参数解释: 应用的唯一标识。 获取方法请参见获取运行服务清单 - ListEnvs。 约束限制: 不涉及。 取值范围: 默认取值: 不涉及。 |
| modelName | 是 | String | 参数解释: M-V模型的英文名称。 约束限制: 必须为已发布的M-V模型,单实体、关系实体不支持。 取值范围: 以大写字母开头,只能包含字母、数字、“_”,且长度为1-60个字符。 默认取值: 不涉及。 |
请求参数
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| X-Auth-Token | 是 | String | 参数解释: IAM用户的token。 获取方法请参见获取IAM用户Token。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| applicationId | 否 | String | 参数解释: 应用ID,用于指定实例所属的应用。 当URL路径中已能明确应用上下文时,此参数可不传。 获取方法请参见获取租户下的应用清单 - ListApps。 约束限制: 不涉及。 取值范围: 由英文字母和数字组成,且长度固定为32个字符。 默认取值: 不涉及。 |
| params | 是 | VersionModelVersionReviseDTO object | 参数解释: 请求参数对象,包含修订配置信息。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| masterId | 是 | String | 参数解释: 主对象ID,用于定位需要修订的M-V模型实例所属的主对象。 约束限制: 不涉及。 取值范围: -9223372036854775808到9223372036854775807的整数。 默认取值: 不涉及。 |
| workCopyType | 否 | String | 参数解释: 关系的复制类型,控制修订后的新版本是否继承原实例的关系实例。不同取值对应不同的关系继承策略,适用于不同的业务场景。 约束限制: 不涉及。 取值范围: 默认取值: 不涉及。 |
| customLinkSet | 否 | Array of strings | 参数解释: 关系实体名称集合,与workCopyType的值CUSTOM配合使用。 指定需要继承的关系实体名称列表,仅继承这些关系实体对应的关系实例。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| workingCopy | 否 | Boolean | 参数解释: 修订后是否自动检出。若设置为true,修订后的新版本将自动处于已检出状态(生成工作副本),可直接进行编辑;若设置为false(默认),修订后的新版本处于已检入状态。 约束限制: 不涉及。 取值范围: 默认取值: false。 |
| creator | 否 | String | 参数解释: 创建者账号,记录本次生成的新版本的创建者信息。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| modifier | 否 | String | 参数解释: 更新者账号,记录本次修订操作的操作人信息。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
响应参数
状态码:200
| 参数 | 参数类型 | 描述 |
|---|---|---|
| result | String | 参数解释: M-V模型数据更新请求结果状态。 取值范围: |
| data | Array of VersionModelViewDTO objects | 参数解释: 更新后的M-V模型版本实例详情数组。若指定的实例id不存在,返回空数组。 取值范围: 不涉及。 |
| errors | Array of strings | 参数解释: 更新异常信息数组,当result为FAIL时返回具体的错误描述。常见错误包括:实例不存在、实例处于检出状态、权限不足、密级校验失败等。 取值范围: 不涉及。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| branch | VersionModelBranchViewDTO object | 参数解释: 更新后的分支对象详情,包含分支的创建时间、版本号、系统版本等属性。 取值范围: 不涉及。 |
| checkOutTime | String | 参数解释: 检出时间,使用UTC+0时间格式,格式为yyyy-MM-ddTHH:mm:ss.SSSZ。若实例未检出,返回null。 取值范围: 不涉及。 |
| checkOutUserName | String | 参数解释: 检出人名称。若实例未检出,返回null。 取值范围: 不涉及。 |
| className | String | 参数解释: 版本实例的类名。 取值范围: 不涉及。 |
| createTime | String | 参数解释: 版本实例的创建时间,使用UTC+0时间格式,格式为yyyy-MM-ddTHH:mm:ss.SSSZ。 取值范围: 不涉及。 |
| creator | String | 参数解释: 版本实例的创建者账号。 取值范围: 不涉及。 |
| description | String | 参数解释: 版本实例的描述信息,如工艺变更说明、设备规格备注等。 取值范围: 不涉及。 |
| id | String | 参数解释: 版本实例的唯一标识。 取值范围: -9223372036854775808到9223372036854775807的整数。 |
| iteration | Integer | 参数解释: 版本实例的迭代版本号,用于标识同一版本下的迭代次数。 取值范围: 不涉及。 |
| kiaguid | String | 参数解释: KIA密级,用于数据资产的安全标识。 取值范围: 不涉及。 |
| lastUpdateTime | String | 参数解释: 版本实例的最后更新时间,使用UTC+0时间格式,格式为yyyy-MM-ddTHH:mm:ss.SSSZ。 取值范围: 不涉及。 |
| latest | Boolean | 参数解释: 是否为最新版本。 取值范围: |
| latestIteration | Boolean | 参数解释: 是否为最新迭代版本。同一版本号下可能存在多次迭代,此字段标识是否为最后一次迭代。 取值范围: |
| latestVersion | Boolean | 参数解释: 是否为最新修订版本。 取值范围: |
| master | VersionModelMasterViewDTO object | 参数解释: 更新后的主对象详情,包含主对象的创建时间、系统版本等属性。 取值范围: 不涉及。 |
| modifier | String | 参数解释: 版本实例的更新者账号。 取值范围: 不涉及。 |
| name | String | 参数解释: 版本实例的中文名称。 取值范围: 不涉及。 |
| preVersionId | String | 参数解释: 前序版本实例ID,用于追溯版本变更历史。 取值范围: 不涉及。 |
| rdmDeleteFlag | Integer | 参数解释: 软删除标识,用于M-V模型实例的逻辑删除管理。 取值范围: |
| rdmExtensionType | String | 参数解释: 扩展类型,用于区分不同业务域的M-V模型实例。 取值范围: 不涉及。 |
| rdmVersion | Integer | 参数解释: 系统版本号,用于数据版本控制与并发冲突检测。每次更新后自动递增。 取值范围: 不涉及。 |
| securityLevel | String | 参数解释: 安全密级,标识当前版本实例的访问控制级别。 取值范围: |
| tenant | TenantViewDTO object | 参数解释: 版本实例所属的租户信息,用于多租户场景下的数据隔离。 取值范围: 不涉及。 |
| version | String | 参数解释: 版本号。 取值范围: 不涉及。 |
| versionCode | Integer | 参数解释: 业务版本内码,用于系统内部的版本排序与比较。 取值范围: 不涉及。 |
| workingCopy | Boolean | 参数解释: 是否已检出。本接口要求实例必须处于未检出状态(workingCopy=false)方可更新。 取值范围: |
| workingState | WorkingState object | 参数解释: 版本实例的工作状态,包含状态编码、中文名称、英文名称及别名。 取值范围: 不涉及。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| className | String | 参数解释: 类名。 取值范围: 不涉及。 |
| createTime | String | 参数解释: 创建时间。使用UTC+0时间格式,格式为yyyy-MM-ddTHH:mm:ss.SSSZ。 取值范围: 不涉及。 |
| creator | String | 参数解释: 创建者账号。 取值范围: 不涉及。 |
| id | String | 参数解释: 唯一标识。 取值范围: -9223372036854775808到9223372036854775807的整数。 |
| lastUpdateTime | AnyType | 参数解释: 最后更新时间。使用UTC+0时间格式,格式为yyyy-MM-ddTHH:mm:ss.SSSZ。 取值范围: 不涉及。 |
| modifier | String | 参数解释: 更新者账号。 取值范围: 不涉及。 |
| rdmDeleteFlag | Integer | 参数解释: 软删除标识。 取值范围: |
| rdmExtensionType | String | 参数解释: 扩展类型。 取值范围: 不涉及。 |
| rdmVersion | Integer | 参数解释: 系统版本。 取值范围: 不涉及。 |
| tenant | TenantViewDTO object | 参数解释: 租户信息。 取值范围: 不涉及。 |
| version | String | 参数解释: 版本号。 取值范围: 不涉及。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| className | String | 参数解释: 主对象的类名。 取值范围: 不涉及。 |
| createTime | String | 参数解释: 主对象的创建时间,使用UTC+0时间格式,格式为yyyy-MM-ddTHH:mm:ss.SSSZ。 取值范围: 不涉及。 |
| creator | String | 参数解释: 主对象的创建者账号。 取值范围: 不涉及。 |
| id | String | 参数解释: 主对象的唯一标识。 取值范围: -9223372036854775808到9223372036854775807的整数。 |
| lastUpdateTime | String | 参数解释: 主对象的最后更新时间。使用UTC+0时间格式,格式为yyyy-MM-ddTHH:mm:ss.SSSZ。 取值范围: 不涉及。 |
| modifier | String | 参数解释: 主对象的更新者账号。 取值范围: 不涉及。 |
| rdmDeleteFlag | Integer | 参数解释: 软删除标识。 取值范围: |
| rdmExtensionType | String | 参数解释: 主对象的扩展类型。 取值范围: 不涉及。 |
| rdmVersion | Integer | 参数解释: 主对象的系统版本号。 取值范围: 不涉及。 |
| tenant | TenantViewDTO object | 参数解释: 主对象所属的租户信息。 取值范围: 不涉及。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| className | String | 参数解释: 租户对象的类名。 取值范围: 不涉及。 |
| code | String | 参数解释: 租户编码,用于多租户场景下的租户唯一标识。 取值范围: 不涉及。 |
| createTime | String | 参数解释: 租户对象的创建时间。使用UTC+0时间格式,格式为yyyy-MM-ddTHH:mm:ss.SSSZ。 取值范围: 不涉及。 |
| creator | String | 参数解释: 租户对象的创建者账号。 取值范围: 不涉及。 |
| dataSource | String | 参数解释: 租户使用的数据源名称,用于多租户数据隔离。 取值范围: 不涉及。 |
| description | String | 参数解释: 租户描述信息。 取值范围: 不涉及。 |
| disableFlag | Boolean | 参数解释: 租户失效标识,用于标识租户是否已失效。 取值范围: |
| id | String | 参数解释: 租户的唯一标识。 取值范围: -9223372036854775808到9223372036854775807的整数。 |
| kiaguid | String | 参数解释: 租户KIA密级。 取值范围: 不涉及。 |
| lastUpdateTime | String | 参数解释: 租户的最后更新时间。使用UTC+0时间格式,格式为yyyy-MM-ddTHH:mm:ss.SSSZ。 取值范围: 不涉及。 |
| modifier | String | 参数解释: 租户的更新者账号。 取值范围: 不涉及。 |
| name | String | 参数解释: 租户中文名称。 取值范围: 不涉及。 |
| nameEn | String | 参数解释: 租户英文名称。 取值范围: 不涉及。 |
| rdmDeleteFlag | Integer | 参数解释: 软删除标识。 取值范围: |
| rdmExtensionType | String | 参数解释: 租户扩展类型。 取值范围: 不涉及。 |
| rdmVersion | Integer | 参数解释: 租户对象的系统版本号。 取值范围: 不涉及。 |
| securityLevel | String | 参数解释: 租户安全密级,用于标识租户信息的安全等级。 取值范围: |
| tenant | TenantViewDTO object | 参数解释: 租户信息,表示当前租户的父租户信息。 取值范围: 不涉及。 |
请求示例
示例:修订M-V模型实例(继承所有关系,不自动检出)
修订主对象ID为601815482655318016的M-V模型实例,关系复制类型为BOTH(继承所有关系实例),workingCopy设置为false(修订后不自动检出),操作人为test1。
POST https://dme.cn-north-4.huaweicloud.com/rdm_04219627d6794f37ae26e8aba250415d_app/publicservices/api/VersionModel/revise
{
"applicationId" : "04219627d6794f37ae26e8aba250415d",
"params" : {
"creator" : "test1",
"modifier" : "test1",
"customLinkSet" : [ ],
"masterId" : "601815482655318016",
"workCopyType" : "BOTH",
"workingCopy" : false
}
} 响应示例
状态码:200
OK,表示请求成功。
{
"result": "SUCCESS",
"data": [
{
"id": "601818968927248384",
"creator": "test1",
"modifier": "test1",
"createTime": 2024-02-19T06:38:10.406+0000,
"lastUpdateTime": 2024-02-19T06:56:43.319+0000,
"rdmVersion": 4,
"rdmDeleteFlag": 0,
"rdmExtensionType": "VersionModel",
"tenant": {
"id": "-1",
"creator": "xdmAdmin",
"modifier": "xdmAdmin",
"createTime": 2023-12-01T01:25:21.000+0000,
"lastUpdateTime": 2023-12-01T01:25:21.000+0000,
"rdmVersion": 1,
"rdmDeleteFlag": 0,
"rdmExtensionType": "Tenant",
"tenant": null,
"className": "Tenant",
"name": "basicTenant",
"description": "默认租户",
"kiaguid": null,
"securityLevel": "internal",
"nameEn": null,
"code": "basicTenant",
"disableFlag": false,
"dataSource": "DefaultDataSource"
},
"className": "VersionModel",
"name": "modifier name",
"description": "modifier description",
"kiaguid": "18409de0386546f8af4bb6c1dc5cf50f",
"securityLevel": "internal",
"master": {
"id": "601815482655318016",
"creator": "test1",
"modifier": "test1",
"createTime": 2024-02-19T06:38:10.419+0000,
"lastUpdateTime": 2024-02-19T06:56:43.319+0000,
"rdmVersion": 4,
"rdmDeleteFlag": 0,
"rdmExtensionType": "VersionModelMaster",
"tenant": {
"id": "-1",
"creator": "xdmAdmin",
"modifier": "xdmAdmin",
"createTime": 2023-12-01T01:25:21.000+0000,
"lastUpdateTime": 2023-12-01T01:25:21.000+0000,
"rdmVersion": 1,
"rdmDeleteFlag": 0,
"rdmExtensionType": "Tenant",
"tenant": null,
"className": "Tenant",
"name": "basicTenant",
"description": "默认租户",
"kiaguid": null,
"securityLevel": "internal",
"nameEn": null,
"code": "basicTenant",
"disableFlag": false,
"dataSource": "DefaultDataSource"
},
"className": "VersionModelMaster"
},
"branch": {
"id": "601818968927248385",
"creator": "test1",
"modifier": "test1",
"createTime": 2024-02-19T06:38:10.464+0000,
"lastUpdateTime": 2024-02-19T06:56:43.319+0000,
"rdmVersion": 4,
"rdmDeleteFlag": 0,
"rdmExtensionType": "VersionModelBranch",
"tenant": {
"id": "-1",
"creator": "xdmAdmin",
"modifier": "xdmAdmin",
"createTime": 2023-12-01T01:25:21.000+0000,
"lastUpdateTime": 2023-12-01T01:25:21.000+0000,
"rdmVersion": 1,
"rdmDeleteFlag": 0,
"rdmExtensionType": "Tenant",
"tenant": null,
"className": "Tenant",
"name": "basicTenant",
"description": "默认租户",
"kiaguid": null,
"securityLevel": "internal",
"nameEn": null,
"code": "basicTenant",
"disableFlag": false,
"dataSource": "DefaultDataSource"
},
"className": "VersionModelBranch",
"version": "A"
},
"latest": true,
"latestIteration": true,
"versionCode": 1,
"iteration": 1,
"version": "A",
"latestVersion": true,
"workingCopy": false,
"workingState": {
"code": "CHECKED_IN",
"cnName": "已检入",
"enName": "checked in",
"alias": "CHECKED_IN"
},
"checkOutUserName": null,
"checkOutTime": null,
"preVersionId": null
}
],
"errors": []
} 状态码
| 状态码 | 描述 |
|---|---|
| 200 | OK,表示请求成功。 |
错误码
请参见错误码。