云服务器内容精选

  • URI URI格式: POST http://{Endpoint}/rdm_{appID}_app/services/dynamic/api/{entityName}/find/{pageSize}/{curPage} 参数说明: 表1 URI参数说明 参数 是否必填 参数类型 描述 Endpoint 是 String 承载REST服务端点的服务器 域名 或IP地址。 appID 是 String 应用ID。 entityName 是 String 实体的英文名称。 pageSize 否 String 分页查询时,每页最多展示的记录数。 curPage 否 String 分页查询的页数。
  • 请求示例 示例背景 已在设计态构建一个名称为“employee”的数据实体,该实体自定义了“age”和“gender”两个属性,并完成了实体发布、应用发布和应用部署。 已在运行态通过控制台或API的方式创建多个 数据实例 。 需要查询“gender”为“男性”的数据实例,且结果需要先按名称倒序排序,再按年龄倒序排序。 示例代码 { "params": { "sorts": [ { "sort": "DESC", "orderBy": "name" }, { "sort": "DESC", "orderBy": "age" } ], "filter": { "joiner": "and", "conditions": [ { "conditionName": "gender", "operator": "=", "conditionValues": [ "男" ] } ] }, "isNeedTotal": true } }
  • 响应示例 { "result": "SUC CES S", "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", "rdmVersion": 1, "rdmExtensionType": "People", "rdmDeleteFlag": 0, "tenant": { "id": "-1", "clazz": "Tenant" }, "className": "People", "name": "李四", "description": null, "kiaguid": null, "securityLevel": "internal", "gender": "男", "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", "rdmVersion": 1, "rdmExtensionType": "People", "rdmDeleteFlag": 0, "tenant": { "id": "-1", "clazz": "Tenant" }, "className": "People", "name": "张三", "description": null, "kiaguid": null, "securityLevel": "internal", "gender": "男", "age": 18 } ], "errors": [], "pageInfo": { "curPage": 1, "pageSize": 20, "totalRows": 2, "totalPages": 1 } }
  • 请求参数 根据实体类型、功能的不同,请求body参数不同,您可以在全量数据服务查看API具体参数。为篇幅起见,这里只展示部分内容。 表2 请求body参数 参数 是否必填 参数类型 描述 sorts 否 List 排序。 sort 否 String 排序方式(asc/desc)。 orderBy 否 String 排序字段,可填写模型自身属性、参考对象的属性、扩展属性及分类属性。 filter 否 Object 查询条件。 isNeedTotal 否 Boolean 是否需要查询总记录数(false/true)。
  • 操作场景 当您发布数据模型和发布应用后,系统会在全量数据服务中预生成与其相应的API,您可以在应用设计态预览各类API的详细信息。 支持通过如下方式进行查看: 离线方式:将应用设计态的全量数据服务API导出至本地计算机进行查看(推荐),具体操作请参见导出API。 在线方式:在应用设计态上在线查看。 如需查看应用完整的全量数据服务API,需将应用部署至数据建模引擎后,前往应用运行态查看,具体操作请参见部署应用和全量数据服务。
  • 约束与限制 对于数据服务共享版 IAM 认证方式的API,系统已默认记录了当前账号的白名单,不支持删除,因此共享版IAM认证方式的API无需进行授权即可进行调用。而专享版中使用IAM认证方式的API则必须先通过应用或白名单授权才能调用。 申请API授权时,仅支持通过应用授权的方式,暂不支持白名单授权方式。 APP认证方式的API只能授权给APP类型的应用。 IAM认证方式的API只能授权给IAM类型的应用。
  • 操作场景 DataArts Studio 数据服务的API流量控制基于指定规则对API的访问流量进行调节控制的限流策略,能够提供多种维度的后端服务保护功能。当前API流控支持通过用户、应用和时间段等不同维度限制API的调用次数。 为了提供持续稳定的服务,您需要通过创建并选择流控策略,针对部分API进行流量控制。流控策略和API本身是相互独立的,只有将流控策略绑定API后,流控策略才对绑定的API生效。 同一个环境中一个API只能被一个流控策略绑定,一个流控策略可以绑定多个API。
  • API开放方使用流程 您作为API提供者,需要实现一个或一组API的开放,那么您需要先后完成以下工作: 购买并管理专享版集群 如果您需要使用数据服务专享版,需要先购买专享版集群。 新建数据服务审核人 在创建API前,需要新建数据服务审核人。 创建API 创建API即生成API和注册API。其中,生成API支持两种方式(配置方式生成API和脚本/MyBatis方式生成API)。 调试API API创建后需要验证服务是否正常,管理控制台提供了调试功能。 发布API 只有将API发布后,API才支持被调用。 管理API 您可以根据您的需要,对已创建发布的API进行管理。 编排API 编排API是将已经开发好的服务API接口,在无需编写复杂代码的情况下,根据特定的业务逻辑和流程进行可视化的重组和重构,从而实现在不影响原生接口的前提下进行简便的二次开发。 (可选)配置流控策略 为了保护后端服务的稳定的考虑,您可以对API进行流量控制。 (可选)主动授权API 应用定义了一个API调用者的身份。对于使用APP或IAM认证方式的API,必须在API授权后,才能获得认证信息以用于API调用。
  • 总览页面说明 在总览页用户可以看到丰富的监控数据视图。数据服务总览页面分别从API开放方和API调用方的视角,统计了API的相关度量数据。 图1 API总览 表1 API开放方数据统计 界面 说明 发布趋势 从每天、每周、每月、每年的维度统计了API开放方发布的API数量。 调用趋势 从半天、每天、每周、每月的维度统计了API开放方发布的API,被调用的次数。 调用比率TOP5 统计API开放方所开放的API,被调用的比率,包含成功率、失败率、合法率和非法率。 调用时间TOP5 统计API开放方所开放的API,被调用时长,支持统计的维度包含时长平均总值、成功时长平均总值,失败时长平均总值。 调用次数TOP5 统计API开放方所开放的API,被调用次数排名TOP5的,支持统计的维度包含调用总次数、成功次数、失败次数、合法次数和非法次数。 已发布 统计API开放方已成功发布的API数量。 开发中 统计API开放方开发中的API数量。 申请者 统计API开放方已成功发布的API,被申请调用的应用数量。 调用成功 统计API开放方已成功发布的API,被应用成功调用的次数。 调用失败 统计API开放方已成功发布的API,被应用调用失败的次数。 总调用次数 统计API开放方已成功发布的API,被应用调用的总次数。 图2 调用总览 表2 API调用方数据统计 界面 说明 调用趋势 从每天、每周、每月、每年的维度统计了API调用方调用的API数量。 调用比率 统计调用方最近7天内调用API的成功和失败比例。 已申请 统计API调用方,在数据服务平台申请调用的API数量。 调用成功 统计API调用方在数据服务平台成功调用API的次数。 总调用次数 统计API调用方在数据服务平台调用API的总次数。
  • 数据服务SDK支持的语言? 数据服务SDK是基于DataArts Studio数据服务创建的数据API封装的SDK包。通过调用此SDK包提供的代码样例,即可进行数据服务中数据API的调用,帮助开发者简单、快速地通过数据API获取到开放数据。 数据服务SDK支持的语言有:C#、Python、Go、JavaScript、PHP、C++、C、Android、Java等,详见SDK参考手册。 父主题: 数据服务
  • 请求示例 POST https://dme.cn-north-4.huaweicloud.com/rdm_b3f9b7523a6141f4b2d76b92d6595281_app/publicservices/api/PersistableModel/query/10/1 { "applicationId" : "b3f9b7523a6141f4b2d76b92d6595281", "params" : { "characterSet" : "UTF8", "isNeedTotal" : true, "isPresentAll" : true, "publicData" : "INCLUDE_PUBLIC_DATA", "decrypt" : false, "filter" : { "joiner" : "and", "ignoreStr" : false, "conditions" : [ { "conditionName" : "rdmExtensionType", "conditionValues" : [ "PersistableModel" ], "operator" : "=", "ignoreStr" : false } ] }, "sorts" : [ ] } }
  • 响应示例 状态码: 200 OK { "result" : "SUCCESS", "data" : [ { "id" : "123", "creator" : "test1", "createTime" : "2023-12-04T11:52:48.000+0000", "modifier" : "XDM_Developer xxx", "lastUpdateTime" : "2023-12-04T12:07:59.000+0000", "rdmExtensionType" : "PersistableModel", "tenant" : { "id" : "-1", "creator" : "xdmAdmin", "createTime" : "2023-12-01T01:25:21.000+0000", "modifier" : "xdmAdmin", "lastUpdateTime" : "2023-12-01T01:25:21.000+0000", "rdmExtensionType" : "Tenant", "tenant" : null, "className" : "Tenant", "name" : "basicTenant", "description" : "默认租户", "code" : "basicTenant", "disableFlag" : false, "dataSource" : "DefaultDataSource" }, "className" : "PersistableModel" } ], "errors" : [ ], "pageInfo" : { "curPage" : 1, "pageSize" : 10, "totalRows" : 1, "totalPages" : 1 } }
  • 响应参数 状态码: 200 表9 响应Body参数 参数 参数类型 描述 result String 参数解释: 请求结果。 取值范围: SUCCESS:请求成功。 FAIL:请求失败。 默认取值: 不涉及。 data Array of PersistableModelQueryViewDTO objects 参数解释: 请求数据。 取值范围: 不涉及。 默认取值: 不涉及。 errors Array of strings 参数解释: 异常信息。 取值范围: 不涉及。 默认取值: 不涉及。 表10 PersistableModelQueryViewDTO 参数 参数类型 描述 className String 参数解释: 类名。 取值范围: 不涉及。 默认取值: 不涉及。 createTime String 参数解释: 创建时间。 取值范围: 不涉及。 默认取值: 不涉及。 creator String 参数解释: 创建者。 取值范围: 不涉及。 默认取值: 不涉及。 disableFlag Boolean 参数解释: 失效标识。 取值范围: true:失效。 false:未失效。 默认取值: false。 extAttrMap Object 参数解释: 扩展属性映射集。 取值范围: 不涉及。 默认取值: 不涉及。 extAttrs Array of EXAValueViewDTO objects 参数解释: 扩展属性列表。 取值范围: 不涉及。 默认取值: 不涉及。 folder FolderQueryViewDTO object 参数解释: 文件夹。 取值范围: 不涉及。 默认取值: 不涉及。 id String 参数解释: 唯一标识。 取值范围: -9223372036854775808到9223372036854775807的整数。 默认取值: 不涉及。 lastUpdateTime String 参数解释: 最后更新时间。 取值范围: 不涉及。 默认取值: 不涉及。 modifier String 参数解释: 修改人。 取值范围: 不涉及。 默认取值: 不涉及。 rdmExtensionType String 参数解释: 扩展类型。 取值范围: 不涉及。 默认取值: 不涉及。 tenant TenantQueryViewDTO object 参数解释: 租户信息。 取值范围: 不涉及。 默认取值: 不涉及。 表11 FolderQueryViewDTO 参数 参数类型 描述 businessCode String 参数解释: 编码。 取值范围: 不涉及。 默认取值: 不涉及。 className String 参数解释: 类名。 取值范围: 不涉及。 默认取值: 不涉及。 createTime String 参数解释: 创建时间。 取值范围: 不涉及。 默认取值: 不涉及。 creator String 参数解释: 创建者。 取值范围: 不涉及。 默认取值: 不涉及。 description String 参数解释: 中文描述。 取值范围: 不涉及。 默认取值: 不涉及。 descriptionEn String 参数解释: 英文描述。 取值范围: 不涉及。 默认取值: 不涉及。 disableFlag Boolean 参数解释: 失效标识。 取值范围: true:失效。 false:未失效。 默认取值: false。 extAttrMap Object 参数解释: 扩展属性映射集。 取值范围: 不涉及。 默认取值: 不涉及。 extAttrs Array of EXAValueViewDTO objects 参数解释: 扩展属性列表。 取值范围: 不涉及。 默认取值: 不涉及。 id String 参数解释: 唯一标识。 取值范围: -9223372036854775808到9223372036854775807的整数。 默认取值: 不涉及。 lastUpdateTime String 参数解释: 最后更新时间。 取值范围: 不涉及。 默认取值: 不涉及。 modifier String 参数解释: 修改人。 取值范围: 不涉及。 默认取值: 不涉及。 name String 参数解释: 中文名称。 取值范围: 不涉及。 默认取值: 不涉及。 nameEn String 参数解释: 英文名称。 取值范围: 不涉及。 默认取值: 不涉及。 rdmExtensionType String 参数解释: 扩展类型。 取值范围: 不涉及。 默认取值: 不涉及。 tenant TenantQueryViewDTO object 参数解释: 租户信息。 取值范围: 不涉及。 默认取值: 不涉及。 type String 参数解释: 类别。 取值范围: 不涉及。 默认取值: 不涉及。 表12 EXAValueViewDTO 参数 参数类型 描述 className String 参数解释: 类名。 取值范围: 不涉及。 默认取值: 不涉及。 createTime String 参数解释: 创建时间。 取值范围: 不涉及。 默认取值: 不涉及。 creator String 参数解释: 创建者。 取值范围: 不涉及。 默认取值: 不涉及。 id String 参数解释: 唯一标识。 取值范围: -9223372036854775808到9223372036854775807的整数。 默认取值: 不涉及。 lastUpdateTime String 参数解释: 最后更新时间。 取值范围: 不涉及。 默认取值: 不涉及。 modifier String 参数解释: 修改人。 取值范围: 不涉及。 默认取值: 不涉及。 name String 参数解释: 中文名称。 取值范围: 不涉及。 默认取值: 不涉及。 rdmDeleteFlag Integer 参数解释: 软删除标识。 取值范围: 0:表示未删除。 1:表示已删除。 默认取值: 0。 rdmExtensionType String 参数解释: 扩展类型。 取值范围: 不涉及。 默认取值: 不涉及。 rdmVersion Integer 参数解释: 系统版本。 取值范围: 不涉及。 默认取值: 不涉及。 tenant TenantViewDTO object 参数解释: 租户信息。 取值范围: 不涉及。 默认取值: 不涉及。 type String 参数解释: 类型。 取值范围: 不涉及。 默认取值: 不涉及。 value Object 参数解释: 值。 取值范围: 不涉及。 默认取值: 不涉及。 表13 TenantViewDTO 参数 参数类型 描述 className String 参数解释: 类名。 取值范围: 不涉及。 默认取值: 不涉及。 code String 参数解释: 租户编码。 取值范围: 不涉及。 默认取值: 不涉及。 createTime String 参数解释: 创建时间。 取值范围: 不涉及。 默认取值: 不涉及。 creator String 参数解释: 创建者。 取值范围: 不涉及。 默认取值: 不涉及。 dataSource String 参数解释: 租户使用的数据源名称。 取值范围: 不涉及。 默认取值: 不涉及。 description String 参数解释: 描述信息。 取值范围: 不涉及。 默认取值: 不涉及。 disableFlag Boolean 参数解释: 失效标识。 取值范围: true:失效。 false:未失效。 默认取值: false。 id String 参数解释: 唯一标识。 取值范围: -9223372036854775808到9223372036854775807的整数。 默认取值: 不涉及。 kiaguid String 参数解释: KIA密级。 取值范围: 不涉及。 默认取值: 不涉及。 lastUpdateTime String 参数解释: 最后更新时间。 取值范围: 不涉及。 默认取值: 不涉及。 modifier String 参数解释: 修改人。 取值范围: 不涉及。 默认取值: 不涉及。 name String 参数解释: 中文名称。 取值范围: 不涉及。 默认取值: 不涉及。 rdmDeleteFlag Integer 参数解释: 软删除标识。 取值范围: 0:表示未删除。 1:表示已删除。 默认取值: 0。 rdmExtensionType String 参数解释: 扩展类型。 取值范围: 不涉及。 默认取值: 不涉及。 rdmVersion Integer 参数解释: 系统版本。 取值范围: 不涉及。 默认取值: 不涉及。 securityLevel String 参数解释: 安全密级。 取值范围: INTERNAL:内部公开。 SECRET:秘密。 CONFIDENTIAL:机密。 TOP_SECRET:绝密。 默认取值: 不涉及。 tenant TenantViewDTO object 参数解释: 租户信息。 取值范围: 不涉及。 默认取值: 不涉及。 表14 TenantQueryViewDTO 参数 参数类型 描述 className String 参数解释: 类名。 取值范围: 不涉及。 默认取值: 不涉及。 code String 参数解释: 租户编码。 取值范围: 不涉及。 默认取值: 不涉及。 createTime String 参数解释: 创建时间。 取值范围: 不涉及。 默认取值: 不涉及。 creator String 参数解释: 创建者。 取值范围: 不涉及。 默认取值: 不涉及。 dataSource String 参数解释: 租户使用的数据源名称。 取值范围: 不涉及。 默认取值: 不涉及。 description String 参数解释: 描述信息。 取值范围: 不涉及。 默认取值: 不涉及。 disableFlag Boolean 参数解释: 失效标识。 取值范围: true:失效。 false:未失效。 默认取值: false。 id String 参数解释: 唯一标识。 取值范围: -9223372036854775808到9223372036854775807的整数。 默认取值: 不涉及。 lastUpdateTime String 参数解释: 最后更新时间。 取值范围: 不涉及。 默认取值: 不涉及。 modifier String 参数解释: 修改人。 取值范围: 不涉及。 默认取值: 不涉及。 name String 参数解释: 中文名称。 取值范围: 不涉及。 默认取值: 不涉及。 rdmExtensionType String 参数解释: 扩展类型。 取值范围: 不涉及。 默认取值: 不涉及。 tenant TenantQueryViewDTO object 参数解释: 租户信息。 取值范围: 不涉及。 默认取值: 不涉及。
  • URI POST /rdm_{identifier}_app/publicservices/api/{modelName}/query/{pageSizePath}/{curPagePath} 表1 路径参数 参数 是否必选 参数类型 描述 pageSizePath 是 Integer 参数解释: 分页大小(路径参数)。 约束限制: 不涉及。 取值范围: 1-1000。 默认取值: 不涉及。 curPagePath 是 Integer 参数解释: 当前页数(路径参数)。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 1。 identifier 是 String 参数解释: 应用唯一标识。 约束限制: 不涉及。 取值范围: 由英文字母和数字组成,且长度为32个字符。 默认取值: 不涉及。 modelName 是 String 参数解释: 数据模型的英文名称。 约束限制: 不涉及。 取值范围: 大写字母开头,只能包含字母、数字、"_",且长度为[1-60]个字符。 默认取值: 不涉及。 表2 Query参数 参数 是否必选 参数类型 描述 curPage 否 Integer 参数解释: 当前页。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 1。 endIndex 否 Integer 参数解释: 结束索引。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 0。 maxPageSize 否 Integer 参数解释: 最大分页数。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 1000。 pageSize 否 Integer 参数解释: 每页大小。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 1000。 startIndex 否 Integer 参数解释: 起始索引。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 0。 totalPages 否 Integer 参数解释: 总页数。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 0。 totalRows 否 Integer 参数解释: 总行数。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 0。
  • 服务编排时提示“ERROR:syntax error at or near “limit””,怎么办? 工业数字模型驱动引擎(Industrial Digital Model Engine,简称iDME)会自动判断是否带limit。如果您在编排时没有带limit,iDME会自动拼接到SQL后面,从而导致语法可能会存在问题。建议您在编排时,SQL加上limit。 父主题: 全量数据服务API相关问题