华为云用户手册

  • 解决方案 工业数字模型驱动引擎(Industrial Digital Model Engine,简称iDME)提供的文件服务功能可大大提升文件管理的效率。 通过将文件和数据模型的实例数据建立关联,以对象化方式管理文件,方便文件归类、查找和更新。 通过对文件类型属性的“密级”和“加密”设置,实现文件的加密或解密存储,保障企业知识资产。 提供BLOB和对象存储两种存储方式,支持简单上传、分块上传、断点续传上传和闪传。其中,BLOB表示数据库存储文件,对象存储表示使用 对象存储服务 存储文件。 当文件大于100MB或网络环境较差时,使用分块上传可实现并行上传多个分块以加快上传速度。如果分块上传过程中某一分块上传失败,再次上传时会从系统记录的点继续上传,从而达到断点续传的效果。如果系统已存在某个文件,后续再上传该文件时,系统会根据文件的唯一哈希值直接复制文件,无需重新上传文件,即可快速完成上传任务。
  • 业务痛点 近几年来,我国工业的数字化进程加速,从研发、生产、销售、物流等诸多环境都会产生大量的文件,多、杂且分散,给企业管理和协作都带来不少难点。 文件多,分散存储,查阅不方便,管理效率低 在工业相关企业的经营过程中,会涉及到很多合作单位或者部门,企业员工需要经常查阅各合作单位/部门的相关文件,例如图纸、施工记录、验收报告等纸质文件,各种电子文件、邮件等。传统文件管理方式存在着文件分散、没有集中管理等情况,不仅对文件的查阅带来极大的阻碍,还会耗费大量的人力和时间,效率低下,容易出现错误、遗漏等问题。 文件管理安全性不高 工业相关企业的文件中往往包含大量的敏感信息,例如设计图纸、客户订单、物料标准、财务报告等,具有很高的安全性和保密性要求,一旦泄露或者丢失会对企业的运营和发展造成很大影响。传统的文件管理方式,企业员工可以随时篡改、盗取或者销毁,极易导致重要数据资产丢失或泄露,给企业带来损失。 传输大文件时,传输速度慢、不稳定、不灵活、不兼容等 在各个领域中,有很多需要传输大文件的情况,例如国际数据传输、数据协作、数据备份等。这些情况涉及到的大文件包括图纸设计、图像、文档等。使用传统的FTP/HTTP等传输方式时,容易受到网络波动和网络延迟的制约或者其他因素的影响,从而导致传输中断或失败,需要重新开始或者手动恢复,增加工作负担和成本。
  • 功能对比 表1 数据实体查询接口 接口 适用场景 查询效率 多字段排序 Get 适用于通过实体或实例的ID,获取某实体或实例所有信息的场景。 模型越复杂,参考对象和扩展属性越多,查询效率越慢。 不支持。 Batchget 适用于通过实体或实例的ID,获取多个实体或实例所有信息的场景。 模型越复杂,参考对象和扩展属性越多,查询效率越慢。 不支持。 List 适用于只查询数据模型自身信息的场景。 不支持参考模型属性作为查询条件。 查询效率较快。 可通过sorts字段进行多字段排序,通过filter字段进行数据过滤。 Find 适用于通过指定查询条件,获取符合条件的所有数据模型的所有信息的场景。 模型越复杂,参考对象和扩展属性越多,查询效率越慢。 可通过sorts字段进行多字段排序,通过filter字段进行数据过滤。 Query 适用于只查询数据模型所有的列表属性信息的场景。 只返回符合查询条件的对象及列表属性。 查询效率相较于find更快一些。 可通过sorts字段进行多字段排序,通过filter字段进行数据过滤。 Count 适用于通过指定查询条件,获取符合条件的数据模型总数的场景。 只返回符合查询条件的对象的记录总数。 查询效率较快。 可通过sorts字段进行多字段排序,通过filter字段进行数据过滤。 Select 适用于只查询数据模型指定属性数据的场景。 查询效率较快。 可通过sorts字段进行多字段排序,通过filter字段进行数据过滤。但数据过滤时,还需通过selectedField字段指定属性查询数据。 表2 关系实体查询接口 接口 描述 queryRelatedObjects 用于查询源或目标实体的属性。 batchQueryRelatedObjects 用于批量查询源或目标实体的属性。 queryRelationship 用于查询关系实例的数据。 queryTarget 用于查询目标实体的数据。 deleteTarget 用于删除关系实例。
  • 排序规则说明 数据实体、关系实体的接口,涉及排序的,根据数据库类型不同,字段首字母排序遵循如下规则: 如果是PostgreSQL数据库,在升降序排序时,先根据字母大小写,然后再根据英文字母顺序进行升降序排序显示。如升序排序时,字段首字母排序显示为B、X、Z、a、b、c。 如果是MySQL数据库,在升降序排序时,先根据英文字母顺序,然后再根据字母大小写进行升降序排序显示。如升序排序时,字段首字母排序显示为a、B、b、c、X、Z。
  • 入参示例 根据源端RelationLeft的ID为454580805678901111的关系实例,查询符合条件的全部数据。 { "params":{ "objectId":"454580805678901111", "role":"source", "latestOnly":false } }
  • 出参示例 { "result": "SUC CES S", "data": [ { "id": "454580805678901111", "creator": "xdm_pub_validation f9828b63ee074aa69a2b3fb30aXXXXXX", "modifier": "xdm_pub_validation f9828b63ee074aa69a2b3fb30aXXXXXX", "createTime": "2023-01-12T11:56:55.551+0000", "lastUpdateTime": "2023-01-12T11:56:55.551+0000", "rdmVersion": 1, "rdmDeleteFlag": 0, "rdmExtensionType": "RelationTest", "tenant": { "id": "-1", "creator": "xdmAdmin", "modifier": "xdmAdmin", "createTime": "2022-09-22T04:10:48.543+0000", "lastUpdateTime": "2022-09-22T04:10:48.543+0000", "rdmVersion": 1, "rdmDeleteFlag": 0, "rdmExtensionType": "Tenant", "tenant": null, "className": "Tenant", "name": "basicTenant", "description": "默认租户", "kiaguid": null, "securityLevel": "internal", "code": "basicTenant", "disableFlag": false, "dataSource": "DefaultDataSource" }, "className": "RelationTest", "source": { "id": "454580805678901111", "creator": "xdm_pub_validation f9828b63ee074aa69a2b3fb30aXXXXXX", "modifier": "xdm_pub_validation f9828b63ee074aa69a2b3fb30aXXXXXX", "createTime": "2023-01-12T11:55:22.797+0000", "lastUpdateTime": "2023-01-12T11:55:22.797+0000", "rdmVersion": 1, "rdmDeleteFlag": 0, "rdmExtensionType": "RelationLeft", "tenant": { "id": "-1", "creator": "xdmAdmin", "modifier": "xdmAdmin", "createTime": "2022-09-22T04:10:48.543+0000", "lastUpdateTime": "2022-09-22T04:10:48.543+0000", "rdmVersion": 1, "rdmDeleteFlag": 0, "rdmExtensionType": "Tenant", "tenant": null, "className": "Tenant", "name": "basicTenant", "description": "默认租户", "kiaguid": null, "securityLevel": "internal", "code": "basicTenant", "disableFlag": false, "dataSource": "DefaultDataSource" }, "className": "RelationLeft", "name": null, "description": null, "kiaguid": null, "securityLevel": "internal", "stuId": null, "right": { "id": "427473106174128128", "clazz": "RelationRight" }, "stuName": null }, "target": { "id": "454580805678903333", "creator": "xdm_pub_validation f9828b63ee074aa69a2b3fb30aXXXXXX", "modifier": "xdm_pub_validation f9828b63ee074aa69a2b3fb30aXXXXXX", "createTime": "2023-01-12T11:55:43.192+0000", "lastUpdateTime": "2023-01-12T11:55:43.192+0000", "rdmVersion": 1, "rdmDeleteFlag": 0, "rdmExtensionType": "RelationRight", "tenant": { "id": "-1", "creator": "xdmAdmin", "modifier": "xdmAdmin", "createTime": "2022-09-22T04:10:48.543+0000", "lastUpdateTime": "2022-09-22T04:10:48.543+0000", "rdmVersion": 1, "rdmDeleteFlag": 0, "rdmExtensionType": "Tenant", "tenant": null, "className": "Tenant", "name": "basicTenant", "description": "默认租户", "kiaguid": null, "securityLevel": "internal", "code": "basicTenant", "disableFlag": false, "dataSource": "DefaultDataSource" }, "className": "RelationRight", "name": null, "description": null, "kiaguid": null, "securityLevel": "internal", "stuId": null, "courseId": null, "relationLeftList": null }, "name": null, "description": null }, { "id": "455098158066700288", "creator": "xdm_pub_validation f9828b63ee074aa69a2b3fb30aXXXXXX", "modifier": "xdm_pub_validation f9828b63ee074aa69a2b3fb30aXXXXXX", "createTime": "2023-01-12T11:57:36.198+0000", "lastUpdateTime": "2023-01-12T11:57:36.198+0000", "rdmVersion": 1, "rdmDeleteFlag": 0, "rdmExtensionType": "RelationTest", "tenant": { "id": "-1", "creator": "xdmAdmin", "modifier": "xdmAdmin", "createTime": "2022-09-22T04:10:48.543+0000", "lastUpdateTime": "2022-09-22T04:10:48.543+0000", "rdmVersion": 1, "rdmDeleteFlag": 0, "rdmExtensionType": "Tenant", "tenant": null, "className": "Tenant", "name": "basicTenant", "description": "默认租户", "kiaguid": null, "securityLevel": "internal", "code": "basicTenant", "disableFlag": false, "dataSource": "DefaultDataSource" }, "className": "RelationTest", "source": { "id": "454580805678901111", "creator": "xdm_pub_validation f9828b63ee074aa69a2b3fb30aXXXXXX", "modifier": "xdm_pub_validation f9828b63ee074aa69a2b3fb30aXXXXXX", "createTime": "2023-01-12T11:55:22.797+0000", "lastUpdateTime": "2023-01-12T11:55:22.797+0000", "rdmVersion": 1, "rdmDeleteFlag": 0, "rdmExtensionType": "RelationLeft", "tenant": { "id": "-1", "creator": "xdmAdmin", "modifier": "xdmAdmin", "createTime": "2022-09-22T04:10:48.543+0000", "lastUpdateTime": "2022-09-22T04:10:48.543+0000", "rdmVersion": 1, "rdmDeleteFlag": 0, "rdmExtensionType": "Tenant", "tenant": null, "className": "Tenant", "name": "basicTenant", "description": "默认租户", "kiaguid": null, "securityLevel": "internal", "code": "basicTenant", "disableFlag": false, "dataSource": "DefaultDataSource" }, "className": "RelationLeft", "name": null, "description": null, "kiaguid": null, "securityLevel": "internal", "stuId": null, "right": { "id": "427473106174128128", "clazz": "RelationRight" }, "stuName": null }, "target": { "id": "454580805678904444", "creator": "xdm_pub_validation f9828b63ee074aa69a2b3fb30aXXXXXX", "modifier": "xdm_pub_validation f9828b63ee074aa69a2b3fb30aXXXXXX", "createTime": "2023-01-12T11:55:47.918+0000", "lastUpdateTime": "2023-01-12T11:55:47.918+0000", "rdmVersion": 1, "rdmDeleteFlag": 0, "rdmExtensionType": "RelationRight", "tenant": { "id": "-1", "creator": "xdmAdmin", "modifier": "xdmAdmin", "createTime": "2022-09-22T04:10:48.543+0000", "lastUpdateTime": "2022-09-22T04:10:48.543+0000", "rdmVersion": 1, "rdmDeleteFlag": 0, "rdmExtensionType": "Tenant", "tenant": null, "className": "Tenant", "name": "basicTenant", "description": "默认租户", "kiaguid": null, "securityLevel": "internal", "code": "basicTenant", "disableFlag": false, "dataSource": "DefaultDataSource" }, "className": "RelationRight", "name": null, "description": null, "kiaguid": null, "securityLevel": "internal", "stuId": null, "courseId": null, "relationLeftList": null }, "name": null, "description": null } ], "errors": [], "pageInfo": { "curPage": 1, "pageSize": 20, "totalRows": 2, "totalPages": 1 } }
  • 入参 { "params":{ "objectId": "XXXX", "role":"source", "latestOnly":false } } objectId:对象ID。 role:角色,源数据模型或目标数据模型。 latestOnly:目标对象是否仅返回源对象关联的最新版本目标对象,默认为false。(仅对M-V模型有效,即返回所有版本)
  • 示例场景 假设有一个源端为RelationLeft,目标端为RelationRight的关系实体(RelationTest)。其中, RelationLeft有两个关系实例,唯一编码为454580805678901111和454580805678902222。 RelationRight有两个关系实例,唯一编码为454580805678903333和454580805678904444。 并创建了如下唯一编码的关系实例: 1313:源端为454580805678901111,目标端为454580805678903333。 2424:源端为454580805678902222,目标端为454580805678904444。 1414:源端为454580805678901111,目标端为454580805678904444。
  • 操作步骤 进入HarddiskTracing_GetDetailList服务详情页切换至“服务测试”页签。 在用例列表上方单击“新增用例”,弹出“新增测试用例”窗口。 填写测试用例信息,如表1所示: 表1 测试用例信息 参数 说明 用例信息 用例名称 test。 标签 支持用户自定义标签,可不填。 入参信息 PurchaserSN_BarCode 示例:102327137927。 Item_SN 示例:02354KMV-001。 pageSize 10。 每页条目数,即每页显示的数据条目数。 pageNumber 1。 分页页码,即返回指定页码的数据条目数。 returnTotalCountFlag false。 是否返回数据条目总数。 基于JSON识别入参 用户输入JSON脚本后,系统自动解析JSON脚本中的测试用例,并自动填充测试用例各字段,JSON参数名称区分大小写。 图1 新增测试用例 填写完后单击“确定”。 在用例列表中,勾选想要执行的test测试用例,单击列表上方的“执行用例”。 用例执行完成之后,您可查看下方“执行结果”,查看该条用例的执行结果详情。
  • URI URI格式: POST http://{Endpoint}/rdm_{appID}_app/services/rdm/basic/api/upload/uploadFile 参数说明: 表1 URI参数说明 参数 是否必填 参数类型 描述 Endpoint 是 String 承载REST服务端点的服务器 域名 或IP地址。 appID 是 String 应用ID。 modelNumber 是 String 数据模型的编码。 modelName 是 String 数据模型的英文名称。 dataType 否 String 数据模型的类型。 entity:数据实体 relation:关系实体 attributeName 是 String 数据模型的属性英文名称。 applicationId 是 String 应用ID。 username 否 String 用户名。 storageType 是 Integer 文件的存储类型。 0:对象存储 1:BLOB instanceId 否 String 数据实例 的唯一编码。 exaAttr 是 String 是否为扩展属性。 0:非扩展属性 1:扩展属性 encrypted 否 Boolean 是否加密。当“storageType”设置为“0”时,需要设置此参数。 true:加密 false:不加密
  • 请求示例 POST https://dme.cn-north-4.huaweicloud.com/rdm_fce01234567d41828cf3473b07fa7ae2_app/services/rdm/basic/api/upload/uploadFile?applicationId=fce01234567d41828cf3473b07fa7ae2&attributeName=LargeFiles&dataType=entity&encrypted=false&exaAttr=1&modelName=Industrial_File&modelNumber=DM00127283&storageType=0&username=XDM_User X-Auth-Token: ABCDEFG.... [MultipartFile Form files]
  • 功能介绍 通过“文件管理”接口“upload_uploadFile”可以将本地的文件上传至工业数字模型驱动引擎(Industrial Digital Model Engine,简称iDME)中。完成文件上传后,可在调用数据实例的创建/更新接口时,将文件与该数据实例进行关联,从而实现对象化管理文件。 “upload_uploadFile”接口最大支持上传100MB文件。如需上传大于100MB的文件,请使用分块上传的接口。 本文仅指导您如何通过API方式上传简单文件。关于如何创建/更新数据实例的接口请参见全量数据服务。
  • 示例场景 某工业产品的开发流程如图1所示,先后经历了原型、试产、小批和量产四个阶段。 原型:对产品结构(如外貌、功能、用户体验等)进行规划和设计,期间会频繁修改。 试产:对产品设计的验证,期间材料结构不会变化,但会存在一些细节的变更。 小批:即小批量生产,将所有治具、夹具、机器、仪器、测试工具等按照量产的标准配置生产,用来验证产品是否能够量产。 量产:通过测试验证、规格审定后,大批量生产。 随着产品的迭代更新,会在原版本的产品上进行改良升级。此时,可分别在转试产的时间点、转小批量的时间点和转量产的时间点创建基线,每个基线分别记录当前基线成员的变化,便于对产品历史的追踪管理。 图1 基线
  • 使用说明 本方案以部分API为操作示例,如需了解更多基线管理API,请参见全量数据服务(“XDM基线对象”和“基线对象与被基线对象的关系”)。 基线对象锁定后,不能对该基线对象进行添加和删除基线成员、更新和删除基线对象的操作。 基线对象锁定后,不能对该基线对象下的基线成员进行撤销检出和删除的操作。 基线对象锁定后,支持对该基线对象下的基线成员进行修改、修订、检入和检出的操作。如果基线成员为其他基线对象且也被锁定,则不允许修改。 如需解锁已锁定的基线对象,可使用“XDM基线对象”的接口“BaseLine_enable”进行解锁。
  • 操作流程 本文通过iDME的基线管理功能,为您演示开发某工业产品场景下的基线管理流程。 表1 基线管理操作流程 主要操作流程 操作目的 创建数据模型及其实例数据 使用iDME的数据模型管理完成对业务数据对象的模型设计,并发布数据模型。 iDME会将应用设计态创建的数据模型部署至应用运行态,完成数据模型的实例化、API调用等操作。 创建基线对象 使用iDME的全量数据服务API完成基线对象的创建。 为基线对象添加基线成员 使用iDME的全量数据服务API,将数据模型的实例化数据与基线对象进行关联。 锁定基线对象 使用iDME的全量数据服务API完成基线对象的锁定,不允许修改该基线对象。
  • URI URI格式: PUT http://{Endpoint}/rdm_{appID}_app/services/rdm/basic/api/v3/transaction-apis/transactions/{tx_id}/commit 参数说明: 表1 URI参数说明 参数 是否必填 参数类型 描述 Endpoint 是 String 承载REST服务端点的服务器域名或IP地址。 appID 是 String 应用ID。 tx_id 是 String 事务ID,即开启事务返回的transaction_id。
  • 方案架构 通过在“华南-广州友好”区域购买NAT网关,添加SNAT规则并绑定EIP,来实现访问“华北-北京四”区域的iDME公网服务。 弹性公网IP:能提供独立的公网IP资源,包括公网IP地址与公网出口带宽服务。可以与弹性云服务器、NAT网关等资源灵活地绑定及解绑。 公网NAT网关:支持将私网IP转换为公网IP,转换后,云上资源即可安全地访问公网或对外提供服务,并且保护私有网络信息不直接对公网暴露。 如图1所示,在本方案中,图中“Region-A”为“华南-广州友好”区域,“Region-B”为“华北-北京四”区域。
  • 配置验证 配置完成后,可通过以下两种方式进行验证。 通过Ping方式验证 登录弹性云服务器,执行以下命令,验证E CS -Test和iDME公网服务的通信情况。 ping 公网IP地址或者域名 公网IP地址和公网域名可在数据建模引擎运行服务详情页获取,详细请参见查看数据建模引擎运行服务详情信息。 经测试,ECS-Test可以正常访问应用运行态(iDME公网服务)。 通过API方式验证 通过API方式访问和使用iDME,详细操作指导请参考《iDME API参考》。
  • 应用场景 当用户需要跨区域内网访问iDME公网服务时,可以使用NAT网关(添加SNAT规则)、EIP在用户本地侧和iDME服务侧之间建立网络连通且提高访问速度。 本节中的方案主要介绍如何快速实现多个无弹性公网IP的云主机安全访问iDME云服务,使用公网NAT网关服务共享弹性公网IP,节省弹性公网IP资源,同时按子网配置SNAT规则,轻松构建VPC的公网出口,避免云主机IP直接暴露在公网上。该方案具有以下优势: 高安全性:SNAT有安全防护规则,只支持VPC内的ECS实例主动访问公网进行通信,而外部无法主动访问VPC的ECS实例。 灵活易用:跨区域部署,公网NAT网关的规格、弹性公网IP,均可以随时调整。配置简单,快速发放,即开即用,运行稳定可靠。 低成本:用户无需为云主机访问Internet购买多余的弹性公网IP和带宽资源,多个云主机共享使用弹性公网IP,有效降低成本。 例如:用户的服务器在“华南-广州友好”,希望可以访问“华北-北京四”的iDME服务,那么可以使用本方案。
  • 资源准备 以在华为云准备表1中的资源为例。 表1 资源准备 华为云资源 资源名称 资源说明 数量 虚拟私有云(VPC) VPC-Test 在“华南-广州友好”区域创建用户VPC。 1 弹性公网IP(EIP) EIP-Test 在“华南-广州友好”区域购买EIP,用于提供访问公网的能力。 1 公网NAT网关 NAT-Test 在“华南-广州友好”区域的用户VPC中购买公网NAT网关,配置SNAT规则并绑定EIP-Test,构建用户VPC中ECS的公网出口。 1 弹性云服务器(ECS) ECS-Test 在“华南-广州友好”区域的用户VPC中创建ECS,用于主动访问公网资源。 1
  • 入参 POST http://{Endpoint}/rdm_{appID}_app/services/dynamic/api/batchGet { "params": { "ids": [ "XXXXXXXXXX", "XXXXXXXXXX" ] } } 其中,{Endpoint}表示数据建模引擎所在域名或IP地址,{appID}表示应用ID。
  • 入参示例 POST http://dme.cn-north-4.huaweicloud.com/rdm_01a2b2c4764d4e00f123g345fd9baa9f_app/services/dynamic/api/batchGet "params": { "ids": [ "455304697733976064", "455304645330341888" ] } }
  • 出参示例 { "result": "SUCCESS", "data": [ { "id": "455304645330341888", "creator": "test1 3c03e719256a427eb9277b64fcXXXXXX", "modifier": "test1 3c03e719256a427eb9277b64fcXXXXXX", "createTime": "2023-01-13T01:38:07.000+00:00", "lastUpdateTime": "2023-01-13T01:38:07.000+00:00", "rdmVersion": 1, "rdmDeleteFlag": 0, "rdmExtensionType": "People", "tenant": { "id": "-1", "creator": "xdmAdmin", "modifier": "xdmAdmin", "createTime": "2022-08-03T11:27:44.000+00:00", "lastUpdateTime": "2022-08-03T11:27:44.000+00:00", "rdmVersion": 1, "rdmDeleteFlag": 0, "rdmExtensionType": "Tenant", "tenant": null, "className": "Tenant", "name": "basicTenant", "description": "默认租户", "kiaguid": null, "securityLevel": "internal", "code": "basicTenant", "disableFlag": false, "dataSource": null }, "className": "People", "name": "李四", "description": null, "kiaguid": null, "securityLevel": "internal", "gender": "男", "age": 20 }, { "id": "455304697733976064", "creator": "test1 3c03e719256a427eb9277b64fcXXXXXX", "modifier": "test1 3c03e719256a427eb9277b64fcXXXXXX", "createTime": "2023-01-13T01:38:19.000+00:00", "lastUpdateTime": "2023-01-13T01:38:19.000+00:00", "rdmVersion": 1, "rdmDeleteFlag": 0, "rdmExtensionType": "People", "tenant": { "id": "-1", "creator": "xdmAdmin", "modifier": "xdmAdmin", "createTime": "2022-08-03T11:27:44.000+00:00", "lastUpdateTime": "2022-08-03T11:27:44.000+00:00", "rdmVersion": 1, "rdmDeleteFlag": 0, "rdmExtensionType": "Tenant", "tenant": null, "className": "Tenant", "name": "basicTenant", "description": "默认租户", "kiaguid": null, "securityLevel": "internal", "code": "basicTenant", "disableFlag": false, "dataSource": null }, "className": "People", "name": "李兰", "description": null, "kiaguid": null, "securityLevel": "internal", "gender": "女", "age": 18 } ], "errors": [] }
  • 操作步骤 进入HarddiskTracing_GetDetailList服务详情页切换至“服务开发”页签,可以看到系统已根据步骤1:服务定义中编排的自动生成高效的服务查询脚本。 单击“运行”,弹出输入请求参数窗口。 在“PurchaserSN_BarCode”、“PurchaserSN_Item_SN”输入框中输入值,单击“生产环境运行”。 (可选)修改出参名称。 如果对出参展示名称不满意,可在脚本编辑框中进行修改后再次运行。
  • 步骤2:挂载文件系统 执行如下命令,在云服务器上挂载SFS Turbo文件系统。 mount -t nfs -o vers=3,nolock 云服务器弹性公网IP地址:/ /mnt/sfs_turbo 执行如下命令,赋予执行权限。 chmod +x /etc/rc.d/rc.local 执行如下命令,打开并编辑rc.local配置文件。 vim /etc/rc.d/rc.local 按“i”切换至编辑模式,并在最后一行添加如下命令。 mount -t nfs -o vers=3,nolock 云服务器弹性公网IP地址:/ /mnt/sfs_turbo 按“Esc”,输入“:wq”,保存文件返回。
  • 步骤3:安装JDK 下载JDK 1.8版本的源码包,您可前往Java SE 下载页面选择需要的版本。 建议先将JDK源码包下载到本地,再上传至云服务器,否则会出现解压错误。具体操作请参见上传文件到云服务器方式概览。 执行如下命令,新建JDK安装目录。 例如,JDK安装目录为“/opt/cloud/tenant-service”。 mkdir /opt/cloud/tenant-service 执行如下命令,将JDK源码包解压到指定位置。 例如,将JDK源码包解压到“/opt/cloud/tenant-service”路径下。 tar -xvf jdk-8u221-linux-x64.tar.gz -C /opt/cloud/tenant-service 执行如下命令,打开profile文件。 vim /etc/profile 按“i”切换至编辑模式,根据您实际使用的JDK版本,在底部添加以下内容。 #set java environment JAVA_HOME=/opt/cloud/tenant-service/jdk/jdk-18.0.x(您的JDK版本) JRE_HOME=$JAVA_HOME PATH=$JAVA_HOME/bin:$PATH CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JRE_HOME/lib/tools.jar export JAVA_HOME JRE_HOME PATH CLASSPATH 按“Esc”,输入“:wq”,保存文件并返回。 执行如下命令,读取环境变量。 source /etc/profile 执行如下命令,查看JDK是否已经安装成功。 java -version 返回如下回显信息,则表示安装成功。 [root@ecs-c525-web ~]# java -version java version "18.0.3" 2022-01-18 LTS Java(TM) SE Runtime Environment (build 18.0.3+8-LTS-86) Java HotSpot(TM) 64-Bit Server VM (build 18.0.3+8-LTS-86, mixed mode, sharing)
  • URI URI格式: GET http://{Endpoint}/rdm_{appID}_app/services/rdm/basic/api/file/images?fileId={FileID} 参数说明: 表1 URI参数说明 参数 是否必填 参数类型 描述 Endpoint 是 String 承载REST服务端点的服务器域名或IP地址。 appID 是 String 应用ID。 fileId 是 String 已上传文件的ID。 该参数会以“?fileId={FileID}”格式拼接在URI后面,其中“FileID”表示需要获取的图片文件ID。
  • 请求示例 获取一张已上传至应用运行态的图片,“fileId”为“563781483752329216”。 GET https://dme.cn-north-4.huaweicloud.com/rdm_fce01234567d41828cf3473b07fa7ae2_app/services/rdm/basic/api/file/images?fileId=563781483752329216 X-Auth-Token: ABCDEFG....
  • 资源环境示例 本方案部署iDME应用所需的CloudPond资源环境组成及版本说明如下: 表1 部署资源 资源 版本 CPU(核数) 内存(G) 数据盘(G) 数量 iDME运行态实例 - 4 8 200 2 分布式消息服务 Kafka 2.3.0 4 8 200 3 云数据库 RDS for PostgreSQL 12.11 32 128 800 2 分布式缓存服务 Redis 5.0.14 4 16 200 2 文档数据库服务 DDS for MongoDB 社区版4.0.28(自建集群) 4 8 1000 3 弹性文件系统 SFS-Turbo(电子仓库) - - - 2000 - 云搜索服务 CSS 7.9.3 8 16 1000 3
  • 应用场景 工业数字模型驱动引擎(Industrial Digital Model Engine,简称iDME)的应用部署依赖于运行节点,其中数据交互依赖的中间件包括:云数据库、MongoDB、Redis、CSS、Kafka以及文件存储系统。因此,在部署iDME应用前需要确保中间件服务已完成部署,并且部署iDME应用的节点能够正常访问中间件服务。本解决方案能帮助用户快速在华为云上通过智能边缘小站(CloudPond)完成iDME应用部署。
共100000条
提示

您即将访问非华为云网站,请注意账号财产安全