华为云用户手册

  • 步骤2:逻辑隔离租户数据 在PDM应用的管理系统中,为B公司和C公司添加“tenantid”必填参数,当B公司或者C公司对PDM应用进行增删改查操作时,发送的请求头必须带有tenantid。 请求头: POST http://{Endpoint}/rdm_{appID}_app/services/dynamic/api/{entityName}/{method} Content-Type: Application/Json Content-Length: Content Length X-AUTH-TOKEN: Token ID tenantid: 租户编码 { "params": { "id": "唯一编码", ...... } } 其中,{Endpoint}表示数据建模引擎所在域名或IP地址,{appID}表示应用ID,{entityName}表示实体的英文名称,{method}表示请求方法。 以创建单位类型为例,请求示例如下: POST http://dme.cn-north-4.huaweicloud.com/rdm_01a2b2c4764d4e00f123g345fd9baa9f_app/services/dynamic/api/UnitType/create Content-Type: Application/Json Content-Length: Content Length X-AUTH-TOKEN: XXXXXXXXXX tenantid: tenantB { "params": { "id": "439166695949471744", "nameEn": "UnitTest", "name": "UnitTest", "descriptionEn": "", "descriptionCn": "", "unitGbFlag": true } }
  • 请求示例 锁定基线对象“转试产”,其ID为553881194513567744。 POST https://dme.cn-north-4.huaweicloud.com/rdm_fce01234567d41828cf3473b07fa7ae2_app/services/rdm/common/api/BaseLine/disable X-AUTH-TOKEN: ABCDEFJ.... { "params":{ "ids":[ 553881194513567744 ] } }
  • URI URI格式: v1版本:POST http://{Endpoint}/rdm_{appID}_app/services/rdm/basic/api/v1/transaction-apis/transactions?api-count=N v2版本:POST http://{Endpoint}/rdm_{appID}_app/services/rdm/basic/api/v2/transaction-apis/transactions 参数说明: 表1 URI参数说明 参数 是否必填 参数类型 描述 Endpoint 是 String 承载REST服务端点的服务器域名或IP地址。 appID 是 String 应用ID。 api-count 是 Integer 说明: 仅v1版本接口需要配置此参数。 需要执行原子接口的数量,取值范围:1-5。 该参数会以“?api-count=N”格式拼接在URI后面,其中“N”表示需要执行原子接口的数量。
  • 响应示例 v1版本响应示例: { "result": "SUCCESS", "data": [ { "transactionId": 538322343718555649, "taskNo": 0, "taskCount": 2 } ], "errors": [] } v2版本响应示例: { "result": "SUCCESS", "data": [ { "transactionId": 538322343718555650, "taskNo": 0 } ], "errors": [] }
  • 请求示例 创建一个执行原子接口数量为2的事务型任务。 v1版本请求示例: POST https://dme.cn-north-4.huaweicloud.com/rdm_fce01234567d41828cf3473b07fa7ae2_app/services/rdm/basic/api/v1/transaction-apis/transactions?api-count=2 X-Auth-Token: ABCDEFJ.... v2版本请求示例: POST https://dme.cn-north-4.huaweicloud.com/rdm_fce01234567d41828cf3473b07fa7ae2_app/services/rdm/basic/api/v2/transaction-apis/transactions X-Auth-Token: ABCDEFJ....
  • 响应参数 表3 响应Body参数 参数 参数类型 描述 result String 调用是否成功。 SUCCESS:成功 FAIL:失败 data List of data 事务型任务数据。 errors List 异常信息列表。 表4 data 参数 参数类型 描述 data.transactionId Long 事务型任务ID。 data.taskNo Integer 原子接口的执行序号,默认为0。 data.taskCount Integer 原子接口的数量。 说明: 仅v1版本接口会返回此参数信息。
  • 操作场景 当您应用中的多个逻辑租户均产生很多脏数据,您希望可以一键恢复至应用的初始状态,您可以通过调用“数据清理与重置”的“application-clean-task”接口,自定义“name”参数值删除该应用运行态下的所有数据,重置应用,释放空间。 重置应用数据会清除应用运行态上的所有数据,将导致数据不可恢复,请谨慎操作。 如果您已将数据模型及其实例数据同步至LinkX-F系统,进行此操作后,将无法在LinkX-F系统进行数据模型及其实例数据的更新。
  • 涉及接口 创建并执行重置应用数据任务 URI格式:POST http://{Endpoint}/rdm_{appID}_app/services/rdm/basic/api/v1/application-clean-task 查询任务执行结果 URI格式:GET http://{Endpoint}/rdm_{appID}_app/services/rdm/basic/api/v1/application-clean-task/{id} 重试重置应用数据任务 URI格式:PUT http://{Endpoint}/rdm_{appID}_app/services/rdm/basic/api/v1/application-clean-task/{id} 其中,{endpoint}表示承载REST服务端点的服务器域名或IP地址,{appID}表示应用ID,{id}表示重置应用数据任务ID。
  • 出参示例 { "result": "SUCCESS", "data": [ { "objectId": 454580805678902222, "relatedList": [ { "id": "454580805678904444", "creator": "xdm_pub_validation f9828b63ee074aa69a2b3fb30aXXXXXX", "createTime": "2023-01-12T11:55:47.918+0000", "modifier": "xdm_pub_validation f9828b63ee074aa69a2b3fb30aXXXXXX", "lastUpdateTime": "2023-01-12T11:55:47.918+0000", "rdmExtensionType": "RelationRight", "tenant": { "id": "-1", "creator": "xdmAdmin", "createTime": "2022-09-22T04:10:48.543+0000", "modifier": "xdmAdmin", "lastUpdateTime": "2022-09-22T04:10:48.543+0000", "rdmExtensionType": "Tenant", "tenant": null, "className": "Tenant", "name": "basicTenant", "description": "默认租户", "code": "basicTenant", "disableFlag": false, "dataSource": "DefaultDataSource" }, "className": "RelationRight", "name": null, "description": null } ] }, { "objectId": 454580805678901111, "relatedList": [ { "id": "454580805678903333", "creator": "xdm_pub_validation f9828b63ee074aa69a2b3fb30aXXXXXX", "createTime": "2023-01-12T11:55:43.192+0000", "modifier": "xdm_pub_validation f9828b63ee074aa69a2b3fb30aXXXXXX", "lastUpdateTime": "2023-01-12T11:55:43.192+0000", "rdmExtensionType": "RelationRight", "tenant": { "id": "-1", "creator": "xdmAdmin", "createTime": "2022-09-22T04:10:48.543+0000", "modifier": "xdmAdmin", "lastUpdateTime": "2022-09-22T04:10:48.543+0000", "rdmExtensionType": "Tenant", "tenant": null, "className": "Tenant", "name": "basicTenant", "description": "默认租户", "code": "basicTenant", "disableFlag": false, "dataSource": "DefaultDataSource" }, "className": "RelationRight", "name": null, "description": null }, { "id": "454580805678904444", "creator": "xdm_pub_validation f9828b63ee074aa69a2b3fb30aXXXXXX", "createTime": "2023-01-12T11:55:47.918+0000", "modifier": "xdm_pub_validation f9828b63ee074aa69a2b3fb30aXXXXXX", "lastUpdateTime": "2023-01-12T11:55:47.918+0000", "rdmExtensionType": "RelationRight", "tenant": { "id": "-1", "creator": "xdmAdmin", "createTime": "2022-09-22T04:10:48.543+0000", "modifier": "xdmAdmin", "lastUpdateTime": "2022-09-22T04:10:48.543+0000", "rdmExtensionType": "Tenant", "tenant": null, "className": "Tenant", "name": "basicTenant", "description": "默认租户", "code": "basicTenant", "disableFlag": false, "dataSource": "DefaultDataSource" }, "className": "RelationRight", "name": null, "description": null } ] } ], "errors": [], "pageInfo": { "curPage": 1, "pageSize": 20, "totalRows": 3, "totalPages": 1 } }
  • 示例场景 假设有一个源端为RelationLeft,目标端为RelationRight的关系实体(RelationTest)。其中, RelationLeft有两个关系实例,唯一编码为454580805678901111和454580805678902222。 RelationRight有两个关系实例,唯一编码为454580805678903333和454580805678904444。 并创建了如下唯一编码的关系实例: 1313:源端为454580805678901111,目标端为454580805678903333。 2424:源端为454580805678902222,目标端为454580805678904444。 1414:源端为454580805678901111,目标端为454580805678904444。
  • 入参 { "params":{ "objectIds": [ XXXX, XXXX ], "role":"source", "latestOnly":false } } objectIds:对象ID列表。 role:角色,源数据模型或目标数据模型。 latestOnly:目标对象是否仅返回源对象关联的最新版本目标对象,默认为false。(仅对M-V模型有效,即返回所有版本)
  • 入参示例 根据源端RelationRight的ID为454580805678901111和454580805678902222的对象实例查询符合条件的目标端对象实例。 { "params":{ "objectIds": [ 454580805678901111, 454580805678902222 ], "role":"source", "latestOnly":false } }
  • 入参示例 POST http://dme.cn-north-4.huaweicloud.com/rdm_01a2b2c4764d4e00f123g345fd9baa9f_app/services/dynamic/api/People/count { "params": { "filter": { "joiner": "and", "conditions": [ { "conditionName": "sex", "operator": "=", "conditionValues": [ "男" ] } ] }, "isNeedTotal": true } }
  • 入参 POST http://{Endpoint}/rdm_{appID}_app/services/dynamic/api/{entityName}/count { "params": { "filter": { "joiner": "and", "conditions": [ { "conditionName": "属性名称", "operator": "=", "conditionValues": [ "属性值" ] } ] }, "isNeedTotal": true } } {Endpoint}表示数据建模引擎所在域名或IP地址,{appID}表示应用ID,{entityName}表示实体的英文名称。 filter:填写过滤条件,可填写模型自身属性、参考对象的属性、扩展属性及分类属性。
  • 涉及接口 创建并执行清理数据任务 URI格式:POST http://{Endpoint}/rdm_{appID}_app/services/rdm/basic/api/v1/tenant-clean-task 查询任务执行结果 URI格式:GET http://{Endpoint}/rdm_{appID}_app/services/rdm/basic/api/v1/tenant-clean-task/{id} 重试清理数据任务 URI格式:PUT http://{Endpoint}/rdm_{appID}_app/services/rdm/basic/api/v1/tenant-clean-task/{id} 其中,{endpoint}表示承载REST服务端点的服务器域名或IP地址,{appID}表示应用ID,{id}表示清理数据任务ID。
  • 操作流程 图1 事务型任务操作流程 创建事务型任务 此接口需要设置执行iDME原子接口的数量,完成事务型任务的初始化。 执行iDME原子接口 根据创建事务型任务时设置的原子接口数量,依次执行。执行的原子接口会被单独存储到iDME事务存储系统中,等待提交事务型任务返回执行结果后再统一提交。 提交事务型任务 同步提交:原子接口按照指定顺序执行,需等待上一个原子接口执行完成后再执行下一个原子接口,适用于需要等待任务完成后才能继续执行的场景。例如,在读取文件或者网络请求时,应用需要等待文件读取完成后才能继续执行下一步操作。 异步提交:各原子接口间串行执行,适用于需要同时执行多个任务的场景。例如,在多线程或者多进程的编程中,应用可以同时执行多个任务,提高应用的执行效率。 所有原子接口都提交成功,则原子接口数据提交成功;否则,所有原子接口都进行数据回滚操作。 查询事务型任务执行结果 您可以通过此接口快速搜索您想要的事务任务执行结果。
  • 背景信息 在应用开发过程中,可能会存在一个核心业务逻辑的执行需要同时调用多个下游业务进行处理的场景。因此,如何保证核心业务和多个下游业务的执行结果完全一致,是事务需要解决的主要问题。 以某工厂整体业务流程为例,生产管理部向生产车间发放生产工单这一核心操作的同时会涉及到生产部的领料加工、采购部的原材料采购等多个子系统的变更。当前业务的处理分支包括: 主分支生产工单系统状态更新:由待处理变更为生产中。 加工系统状态变更:新增产品加工记录,新增用料记录。 原材料采购状态变更:变更原材料数量,更新原材料库存表。 基于普通消息方案,将工单系统变更作为本地事务,剩下的系统变更作为普通消息的下游来执行。此时,消息下游分支和工单系统变更的主分支很容易出现不一致的现象。例如: 消息发送成功,工单没有执行成功,需要回滚整个事务。 工单执行成功,消息没有发送成功,需要额外补偿才能发现不一致。 消息发送超时未知,此时无法判断需要回滚工单还是提交工单变更。 为了保证上述分支的执行结果一致,具备提交、回滚和统一协调的能力,工业数字模型驱动引擎-数据建模引擎(xDM Foundation,简称xDM-F)提供事务型任务功能,编排多个原子接口,并与本地事务绑定,实现多接口提交结果的一致性,并提升接口调用速率和性能。
  • 响应参数 表4 响应Body参数 参数 参数类型 描述 id Int 唯一编码。 rdmExtensionType String 实体类型。 rdmVersion Integer 系统版本。 className String 实体名称。 name String 基线对象的名称。 nameEn String 基线对象的英文名称。 description String 基线对象的描述。 descriptionEn String 基线对象的英文描述。 disableFlag Boolean 是否锁定。 true:锁定。 false:解锁,默认为false。 为篇幅起见,这里只展示部分内容。更多参数信息,您可以在全量数据服务进行查看。
  • 响应示例 为篇幅起见,这里只展示部分内容。 { "result": "SUCCESS", "data": [ { "id": "553956041486766080", "rdmExtensionType": "BaseLineLink", "tenant": { ...... }, "className": "BaseLineLink", "source": { "id": "553881194513567744", "rdmExtensionType": "BaseLine", "tenant": { ...... }, "className": "BaseLine", "descriptionEn": "Turn to trial-produce review baseline", "name": "转试产", "description": "转试产评审基线", "nameEn": "TurnToTrialProduce", "state": null, "disableFlag": false }, "target": { "id": "553953656563568640", "rdmExtensionType": "Fixture", "className": "Fixture", "name": "焊接夹具", "master": { "id": "553953656563568641", "rdmExtensionType": "FixtureMaster", "tenant": { ...... }, "className": "FixtureMaster" }, "branch": { "id": "553953656563568642", "rdmExtensionType": "FixtureBranch", "className": "FixtureBranch", "version": "A" }, "versionCode": 1, "iteration": 1, "version": "A", "latestVersion": true, "workingCopy": false, "workingState": { "code": "CHECKED_IN", "cnName": "已检入", "enName": "checked in", "alias": "CHECKED_IN" } } } ], "errors": [] }
  • 请求示例 使用“BaseLineLink_create”接口将数据实例“焊接夹具”添加至基线对象“转试产”。 POST https://dme.cn-north-4.huaweicloud.com/rdm_fce01234567d41828cf3473b07fa7ae2_app/services/rdm/common/api/BaseLineLink/create X-AUTH-TOKEN: ABCDEFJ.... { "params": { "source":{ "id":553881194513567744, "clazz":"BaseLine" }, "target":{ "id":553607469406887936, "clazz":"Fixture" } } }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户的token。 表3 请求Body参数 参数 是否必选 参数类型 描述 source 是 Object 基线对象信息,需输入基线对象的ID和实体名称。 id:基线对象ID,即创建基线对象返回的ID。 clazz:基线对象的实体名称“BaseLine”。 target 是 Object 基线成员信息,需输入基线成员的ID和实体名称。 id:数据实例ID,即创建数据模型及其实例数据的数据实例唯一编码。 clazz:数据实例的实体名称。例如“Fixture”。 为篇幅起见,这里只展示部分内容。更多参数信息,您可以在全量数据服务进行查看。
  • 下一步操作 反向建模完成后,您可以在iDME执行如下操作。 您可以... 进行... 进入“枚举类型”页面 为数据模型预设枚举值,具体操作请参见创建枚举。 进入“接口模型”页面 自定义接口模型,对数据实体或关系实体的公共特性进行抽象&接口化,具体操作请参见创建接口模型。 发布自定义的接口模型,具体操作请参见发布接口模型。 进入“数据实体”页面 查看创建的数据实体,具体操作请参见查看数据实体。 数据实体属性的添加、修改、删除和上下位置调整,具体操作请参见管理数据实体属性。 为创建的数据实体添加其他iDME内置的工业数据能力,具体操作请参见管理功能配置。 发布创建的数据实体,具体操作请参见发布数据实体。 进入“关系实体”页面 查看创建的关系实体,具体操作请参见查看关系实体。 关系实体属性的添加、修改、删除和上下位置调整,具体操作请参见管理关系实体属性。 为创建的关系实体添加其他iDME内置的工业数据能力,具体操作请参见管理功能配置。 发布创建的关系实体,具体操作请参见发布关系实体。 单击右上方的“应用发布” 应用的发布,生成相应代码包,具体操作请参见发布应用。 完成发布应用后,返回控制台 应用部署至数据建模引擎,具体操作请参见部署应用。 进入应用运行态 相关全量数据服务API的开发操作,具体操作请参见数据建模引擎使用指南。
  • 前提条件 已开通iDME设计服务和购买iDME运行服务。本章节以购买体验版数据建模引擎为例。 已创建与本地服务器已有数据库类型一致的应用,具体操作请参见创建应用。 即,如本地服务器的数据库类型为MySQL,则创建“数据库类型”为“MySQL”的应用。本章节以MySQL数据库类型为例。 已获取如下本地服务器的数据库信息,且该数据库可正常连通。 表1 MySQL数据库信息 类型 描述 数据库名称 database_test 用户名 root 密码 123456 数据库地址 192.168.10.10:3306/database_test 已确定需要将哪些物理表反向生成模型。
  • 操作场景 反向建模是从数据库物理表到数据模型的映射,相对于将数据模型映射到数据库物理表的正向建模。 当您的本地服务器中已有数据库和物理表,且希望通过工业数字模型驱动引擎(Industrial Digital Model Engine,简称iDME)统一管理所有模型时,可使用反向建模功能,将已有物理表反向建模至iDME的数据模型中。此功能可帮助您无需再次执行创建模型的操作,即可快速创建数据模型,节省了大量时间成本。
  • 入参 POST http://{Endpoint}/rdm_{appID}_app/services/dynamic/api/{entityName}/query/pageSize/curPage { "params": { "sorts": [ { "sort": "DESC", "orderBy": "属性名称" } ], "filter": { ...... }, "isNeedTotal": true } } {Endpoint}表示数据建模引擎所在域名或IP地址,{appID}表示应用ID,{entityName}表示实体的英文名称。 在URL上填写待查询的页码(curPage)和每页可显示的数据量(pageSize)。 在JSON代码中的设置sorts字段和filter字段。 sorts:填写需要按哪个字段进行排序,可填写模型自身属性、参考对象的属性、扩展属性及分类属性,也可为空。 filter:填写过滤条件,可为空。
  • 入参示例 POST http://dme.cn-north-4.huaweicloud.com/rdm_01a2b2c4764d4e00f123g345fd9baa9f_app/services/dynamic/api/People/query/20/1 { "params": { "sorts": [ { "sort": "DESC", "orderBy": "name" }, { "sort": "DESC", "orderBy": "age" } ], "filter": { "joiner": "and", "conditions": [ { "conditionName": "sex", "operator": "=", "conditionValues": [ "男" ] } ] }, "isNeedTotal": true } }
  • 出参示例 { "result": "SUCCESS", "data": [ { "id": "455304645330341888", "creator": "test1 3c03e719256a427eb9277b64fcXXXXXX", "createTime": "2023-01-13T01:38:07.000+00:00", "modifier": "test1 3c03e719256a427eb9277b64fcXXXXXX", "lastUpdateTime": "2023-01-13T01:38:07.000+00:00", "rdmExtensionType": "People", "tenant": { "id": "-1", "creator": "xdmAdmin", "createTime": "2022-08-03T11:27:44.000+00:00", "modifier": "xdmAdmin", "lastUpdateTime": "2022-08-03T11:27:44.000+00:00", "rdmExtensionType": "Tenant", "tenant": null, "className": "Tenant", "name": "basicTenant", "description": "默认租户", "code": "basicTenant", "disableFlag": false, "dataSource": null }, "className": "People", "name": "李四", "description": null, "age": 20 }, { "id": "455304534248394752", "creator": "test1 3c03e719256a427eb9277b64fcXXXXXX", "createTime": "2023-01-13T01:37:40.000+00:00", "modifier": "test1 3c03e719256a427eb9277b64fcXXXXXX", "lastUpdateTime": "2023-01-13T01:37:40.000+00:00", "rdmExtensionType": "People", "tenant": { "id": "-1", "creator": "xdmAdmin", "createTime": "2022-08-03T11:27:44.000+00:00", "modifier": "xdmAdmin", "lastUpdateTime": "2022-08-03T11:27:44.000+00:00", "rdmExtensionType": "Tenant", "tenant": null, "className": "Tenant", "name": "basicTenant", "description": "默认租户", "code": "basicTenant", "disableFlag": false, "dataSource": null }, "className": "People", "name": "张三", "description": null, "age": 18 } ], "errors": [], "pageInfo": { "curPage": 1, "pageSize": 20, "totalRows": 2, "totalPages": 1 } }
  • 数据探索概述 通过数据探索,可探索实例间的关系,包括实例图谱探索和模型路径探索两种方式。 在进行数据探索前,请确保实体模型对应的实例数据已入图。创建数据入图任务的具体操作请参考数据入图。 实例图谱探索:指基于实例及实例之间的关系进行扩展探索。即根据已知实例数据节点但不知节点间的关系时,可通过一层一层扩展查询出节点之间的关系。 模型路径探索:基于固化下来的业务模型及路径,对该模型路径下的实例及实例关系进行探索。 父主题: 探索数据
  • 删除实例节点 删除单个实例节点:在画布上选中一个实例节点,在实例图谱操作项区域单击或鼠标右键选择“删除”,也可直接按键盘“Delete”键。 即同时删除选中实例节点及一跳关系线,若一个画布上中一个数据实体下的所有实例节点都被删除,则图例上该数据实体也被删除。 删除关系线:在画布上选中关系线,在实例图谱操作项区域单击或按键盘“Delete”键。 删除多个实例节点:按住键盘“Ctrl”键,鼠标点选或框选多个实例节点,在实例图谱操作项区域单击或按键盘“Delete”键。
  • 集成xDM-F模型 通过xDM-F同步任务,将xDM-F数据实体模型及其属性信息同步至LinkX-F系统,快速自动生成对应xDM-F模型的LinkX-F数据实体,状态处在“正在工作”中。此类实体“是否集成xDM-F”值为“是”且存放在指定租户下。 集成xDM-F模型生成的LinkX-F数据实体,存在以下修改限制: 在“基本信息”中,不支持对“责任人”、“所属领域”、“源系统”、“是否主数据”、“产品阶段”和“标签”外的其他字段进行修改。 在“数据实体属性”中,仅支持上移、下移、置顶对应的自定义属性,其他操作均不支持(如新增、修改、删除、生效、失效等)。 同步xDM-F应用下模型数据的具体操作以及数据同步规则说明请参见xDM-F同步任务。 父主题: 新增数据实体
共100000条