工业数字模型驱动引擎
工业数字模型驱动引擎
- 最新动态
- 功能总览
- 产品介绍
- 计费说明
- 快速入门
- 控制台操作指南
-
数据建模引擎用户指南
- 设计态使用指南
- 运行态使用指南
- 流程引擎使用指南
- 数字主线引擎用户指南
- 最佳实践
- 开发指南
-
API参考
- 使用前必读
- API概览
- 如何调用API
-
API
- 应用管理
- 运行服务管理
-
数据建模引擎
- 基础数据服务
-
版本服务
- 管理员更新M-V模型数据实例
- 管理员批量更新M-V模型数据实例
- 管理员撤销检出M-V模型数据实例
- 管理员批量撤销检出M-V模型数据实例
- 获取指定M-V模型实例的版本列表
- 获取指定版本的M-V模型实例数据
- 检出M-V模型数据实例
- 批量检出M-V模型数据实例
- 检出并更新M-V模型
- 批量检出并更新M-V模型
- 撤销检出M-V模型数据实例
- 批量撤销检出M-V模型数据实例
- 检入M-V模型数据实例
- 批量检入M-V模型数据实例
- 更新并检入M-V模型数据实例
- 批量更新并检入M-V模型数据实例
- 修订M-V模型数据实例
- 批量修订M-V模型数据实例
- 修订并更新M-V模型数据实例
- 批量修订并更新M-V模型数据实例
- 批量升级M-V模型实例的版本号
- 删除版本对象下最新分支的最新版本实例数据
- 软删除版本对象下最新分支的最新版本实例数据
- 删除最新大版本下的所有小版本
- 批量删除最新大版本下的所有小版本
- 软删除M-V模型实例下最新分支的所有小版本数据
- 批量软删除最新大版本下的所有小版本
- 对比M-V模型实例
- 失效管理
- 业务编码生成器
- 标签管理
- 生命周期管理
- 系统版本
- 多维视图和多维分支
- 关系实体服务
- 树形结构
- 流程引擎
- 应用示例
- 权限和授权项
- 附录
- SDK参考
-
常见问题
- 一般性相关问题
- 计量计费相关问题
-
数据建模引擎相关问题
- 设计态与运行态有什么区别?
- 为什么无法登录应用运行态?
- 为什么用户管理中会有“用户不存在”的用户?
- 为什么登录应用运行态时提示“缺少参数或参数错误”?
- 为什么设置输入型参数时提示安全校验失败?
- 应用发布后,在运行态为什么看不到构建的模型数据?
- 如何验证已设置的用户权限已生效?
- 什么是XDM应用?
- 什么是M-V模型?
- 数据建模引擎支持哪些属性类型?
- 枚举、合法值和参考对象的区别是什么?
- 入图和不入图有什么不同?
- 数据建模引擎支持哪些层级的缓存?
- 如何进行应用同步?
- 可以通过API方式使用应用设计态吗?
- 体验版数据建模引擎和基础版数据建模引擎提供的API有什么不同?
- 如何查看数据建模引擎的版本号?
- 如何避免数据模型互相引用形成环?
- 使用JDK 17版本应用运行态时,服务编排存在哪些约束与限制?
-
数字主线引擎相关问题
- 什么是企业租户和应用租户?
- 创建实体时选择构建表的作用是什么?
- 复杂实体属性太多,创建麻烦怎么办?
- 什么是源端映射和目标端映射?
- 什么是增量字段?
- 关系型数据库映射配置中DelFlag字段的作用是什么?
- 创建数据质量任务时,怎么选不出数据实体?
- 为什么LinkX-F中xDM-F来源的实例数据的最后更新时间显示与xDM-F中不一致
- 什么是入图调度的数据起止时间和数据分片间隔?
- 聚合服务编排中非纯脚本服务选择入参时,提示错误“初始数据实体必填入参为空,请选择必填入参”?
- 发布聚合服务后生成的API如何调用?
- 调用聚合服务时提示“查找不到该企业用户”
- 为什么操作时提示WSF参数校验失败?
- 描述类信息中输入英文双引号导致系统错误提示
- 全量数据服务API相关问题
- 文档下载
- 通用参考
链接复制成功!
通过API方式分块上传文件
操作场景
工业数字模型驱动引擎-数据建模引擎(xDM Foundation,简称xDM-F)可以将待上传的文件分成多个分块分别上传,上传完成后再调用“file_mergeFiles”接口将这些分块合并成一个对象存储至某个数据模型中。
完成文件的分块上传后,可在调用数据实例的创建/更新接口时,将文件与该数据实例进行关联,从而实现对象化管理文件。
本文仅指导您如何通过API方式分块上传文件。关于如何创建/更新数据实例的接口请参见全量数据服务。
操作流程
- 使用分块上传文件之前,您必须先调用“文件管理”的“file_startBatchUpload”接口校验待上传的文件之前是否上传至某个数据模型中。如果您之前已经上传某个文件,现在需要重新上传,那么该文件具有闪传能力,会自动闪传至数据模型中,无需重新分块上传。如果您没有上传过该文件,调用“file_startBatchUpload”接口时,初始化分块上传,成功执行此请求后将返回“docId”和“fileId”,用于后续的分块请求。
- 初始化分块上传后,调用“文件管理”的“upload_uploadLargeFile”接口根据指定的“docId”、“fileId”、“chunk”等参数值上传分块文件。
- 当使用“upload_uploadLargeFile”完成所有分块上传后,您必须调用“file_mergeFiles”来完成整个文件的分块上传。在使用该接口时,您必须在请求体中给出“docId”、“fileId”和“chunk”等参数值,用来校验每个分块的有效性。当所有的分块验证通过后,系统将把这些分块合并成一个完整的文件。
操作步骤
- 闪传文件。
如果您已上传某个文件,再上传该文件时,您只需执行本步骤即可完成文件上传。
- 接口相关信息
表1 startBatchUpload接口 接口信息
说明
URI格式
POST http://{Endpoint}/rdm_{appID}_app/services/rdm/basic/api/file/startBatchUpload
- Endpoint:必填,String类型,承载REST服务端点的服务器域名或IP地址。
- appID:必填,String类型,应用ID。
- applicationId:必填,String类型,应用ID。
- model_name:必填,String类型,数据模型的英文名称。
- model_number:选填,String类型,数据模型的编码。
- attribute_name:必填,String类型,数据模型的属性英文名称。
- file_name:选填,String类型,待上传文件的名称。本参数与fileName参数必须二选一。不能同时为空,且优先级低于fileName。
- file_size:必填,String类型,待上传文件的大小。
- chunks:必填,String类型,待上传文件的分块数量。您可以根据构建数据模型时创建属性的约束(分块大小)计算待上传文件的分块数量。
- check_code:必填,String类型,文件唯一校验码,即文件的哈希值。
- instance_id:必填,String类型,数据实例的唯一编码。
- username:必填,String类型,用户名称。
- fileId:选填,String类型,文件ID。
- encrypted:选填,Boolean类型,用户名称。
- exaAttr:选填,String类型,是否为扩展属性。
- 0:非扩展属性
- 1:扩展属性
请求参数
响应参数
- 请求示例
新上传一个101MB的文件“testFile.zip”,由于在添加“文件”类型属性时“分块大小”为默认值(5MB),文件需分为21个分块。
POST https://dme.cn-north-4.huaweicloud.com/rdm_fce01234567d41828cf3473b07fa7ae2_app/services/rdm/basic/api/file/startBatchUpload?applicationId=fce01234567d41828cf3473b07fa7ae2&model_name=Craft_File&attribute_name=LargeFiles&file_name=testFile.zip&file_size=103424&chunks=21&check_code=1234567890&instance_id=1&username=XDM_User X-Auth-Token: ABCDEFJ....
- 响应示例
{ "result": "SUCCESS", "data": [ { "isMergedFile": false, "docId": "0000018BB1E33DC685E9C0045DFC7291", "fileId": "564032141298503680" } ], "errors": [] }
- 接口相关信息
- 分块上传。
根据调用startBatchUpload接口设置的分块数量,依次执行uploadLargeFile接口。
- 接口相关信息
表2 uploadLargeFile接口 接口信息
说明
URI格式
POST http://{Endpoint}/rdm_{appID}_app/services/rdm/basic/api/upload/uploadLargeFile
- Endpoint:必填,String类型,承载REST服务端点的服务器域名或IP地址。
- appID:必填,String类型,应用ID。
- applicationId:必填,String类型,应用ID。
- modelNumber:必填,String类型,数据模型的编码。
- modelName:必填,String类型,数据模型的英文名称。
- attributeName:必填,String类型,数据模型的属性英文名称。
- docId:必填,String类型,文档ID,即调用startBatchUpload接口返回的docId。
- fileId:必填,String类型,文件ID,即调用startBatchUpload接口返回的fileId。
- fileName:必填,String类型,待上传文件的名称。
- checkCode:必填,String类型,文件的唯一校验码,即文件的哈希值。
- chunk:必填,Integer类型,待上传的分块位数。例如您上传第5块分块,填写5。
- storageType:选填,Integer类型,文件的存储类型。
- 0:对象存储
- 1:BLOB
- exaAttr:选填,String类型,是否为扩展属性。
- 0:非扩展属性
- 1:扩展属性
- username:选填,String类型,用户名。
请求参数
Header参数
X-Auth-Token:必填,String类型,用户的token。
响应参数
- result:String类型,调用是否成功。
- SUCCESS:成功
- FAIL:失败
- data:List类型,调用的返回结果。
- errors:List类型,异常信息列表。
- 请求示例
根据请求示例的文件分块数量,依次执行如下接口。为篇幅起见,这里以上传第1个分块为例。
POST https://dme.cn-north-4.huaweicloud.com/rdm_fce01234567d41828cf3473b07fa7ae2_app/services/rdm/basic/api/upload/uploadLargeFile?attributeName=LargeFiles&modelName=Craft_File&applicationId=fce01234567d41828cf3473b07fa7ae2&fileId=564032141298503680&fileName=testFile.zip&checkCode=1234567890&chunk=1&docId=0000018BB1E33DC685E9C0045DFC7291&modelNumber=DM00127285 X-Auth-Token: ABCDEFJ.... [MultipartFile Form files]
- 响应示例
{ "result": "SUCCESS", "data": [ "564091302493294592" ], "errors": [] }
- 接口相关信息
- 分块合并。
- 接口相关信息
表3 mergeFiles接口 接口信息
说明
URI格式
POST http://{Endpoint}/rdm_{appID}_app/services/rdm/basic/api/file/mergeFiles
- Endpoint:必填,String类型,承载REST服务端点的服务器域名或IP地址。
- appID:必填,String类型,应用ID。
- applicationId:必填,String类型,应用ID。
- modelName:必填,String类型,
- attributeName:必填,String类型,
- docId:必填,String类型,文档ID,即调用startBatchUpload接口返回的docId。
- fileId:必填,String类型,文件ID,即调用startBatchUpload接口返回的fileId。
- fileName:必填,String类型,待上传文件的名称。
- checkCode:必填,String类型,文件的唯一校验码,即文件的哈希值。
- instanceId:选填,String类型,数据实例的唯一编码。
- exaAttr:选填,String类型,是否为扩展属性。
- 0:非扩展属性
- 1:扩展属性
请求参数
Header参数
X-Auth-Token:必填,String类型,用户的token。
响应参数
- result:String类型,调用是否成功。
- SUCCESS:成功
- FAIL:失败
- data:List类型,调用的返回结果。
- fileSize:文件的大小。
- fileId:文件ID。
- errors:List类型,异常信息列表。
- 请求示例
POST https://dme.cn-north-4.huaweicloud.com/rdm_fce01234567d41828cf3473b07fa7ae2_app/services/rdm/basic/api/file/mergeFiles?applicationId=fce01234567d41828cf3473b07fa7ae2&modelNumber=DM00127285&modelName=Craft_File&attributeName=LargeFiles&fileName=testFile.zip&checkCode=1234567890&docId=0000018BB1E33DC685E9C0045DFC7291&exaAttr=0&fileId=564032141298503680 X-Auth-Token: ABCDEFJ....
- 响应示例
{ "result": "SUCCESS", "data": [ { "fileSize": "103424", "fileId": "564032141298503680" } ], "errors": [] }
- 接口相关信息
父主题: 使用文件服务功能