华为云用户手册

  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表3 请求Body参数 参数 是否必选 参数类型 描述 name 是 String API分组的名称。 支持汉字、英文、数字、中划线、下划线、点、斜杠、中英文格式下的小括号和冒号、中文格式下的顿号,且只能以英文、汉字和数字开头,3-255个字符。 说明: 中文字符必须为UTF-8或者unicode编码。 最小长度:3 最大长度:255 remark 否 String API分组描述。 说明: 中文字符必须为UTF-8或者unicode编码。 最大长度:1000
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 id String 编号 name String API分组名称 status Integer 状态 1: 有效 2: 锁定 sl_domain String 系统默认分配的子域名 register_time String 创建时间 update_time String 最近修改时间 on_sell_status Integer 是否已上架云市场: 1:已上架 2:未上架 3:审核中 ROMA Connect暂未对接云市场,此字段默认返回2 url_domains Array of UrlDomain objects 分组上绑定的独立域名列表 sl_domains Array of strings 系统默认分配的子域名列表 remark String 描述 call_limits Integer 流控时长内分组下的API的总访问次数限制,默认不限,请根据服务的负载能力自行设置 暂不支持 time_interval Integer 流控时长 暂不支持 time_unit String 流控的时间单位 暂不支持 is_default Integer 是否为默认分组 version String 分组版本 V1:全局分组 V2:应用级分组 roma_app_id String 分组归属的集成应用编号。 分组版本V2时必填。 roma_app_name String 分组归属的集成应用名称 表5 UrlDomain 参数 参数类型 描述 id String 域名编号 domain String 访问域名 cname_status Integer 域名cname状态: 1:未解析 2:解析中 3:解析成功 4:解析失败 ssl_id String SSL证书编号 ssl_name String SSL证书名称 min_ssl_version String 最小ssl协议版本号。支持TLSv1.1或TLSv1.2 缺省值:TLSv1.1 verified_client_certificate_enabled Boolean 是否开启客户端证书校验。只有绑定证书时,该参数才生效。当绑定证书存在trusted_root_ca时,默认开启;当绑定证书不存在trusted_root_ca时,默认关闭。 缺省值:false is_has_trusted_root_ca Boolean 是否存在信任的根证书CA。当绑定证书存在trusted_root_ca时为true。 缺省值:false ssl_infos Array of SslInfo objects SSL证书列表 暂不支持 表6 SslInfo 参数 参数类型 描述 ssl_id String SSL证书编号 ssl_name String SSL证书名称 algorithm_type String 证书算法类型: RSA ECC SM2 暂不支持 type String 证书可见范围: instance:当前实例 global:全局 缺省值:global 状态码: 401 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 403 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 404 表9 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 500 表10 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述
  • 响应示例 状态码: 200 OK { "id" : "7eb619ecf2a24943b099833cd24a01ba", "acl_name" : "acl_demo", "entity_type" : "IP", "acl_type" : "PERMIT", "acl_value" : "192.168.1.5,192.168.10.1", "update_time" : "2020-08-04T08:54:55.975856802Z"} 状态码: 400 Bad Request { "error_code" : "APIG.2011", "error_msg" : "Invalid parameter value,parameterName:acl_type. Please refer to the support documentation"} 状态码: 401 Unauthorized { "error_code" : "APIG.1002", "error_msg" : "Incorrect token or token resolution failed"} 状态码: 403 Forbidden { "error_code" : "APIG.1005", "error_msg" : "No permissions to request this method"} 状态码: 404 Not Found { "error_code" : "APIG.3006", "error_msg" : "Access control policy 7eb619ecf2a24943b099833cd24a01ba does not exist"} 状态码: 500 Internal Server Error { "error_code" : "APIG.9999", "error_msg" : "System error"}
  • 响应参数 状态码: 200 表5 响应Body参数 参数 参数类型 描述 name String 自定义认证的名称。 长度为3 ~ 64位的字符串,字符串由中文、英文字母、数字、“_”组成,且只能以英文或中文开头。 type String 自定义认证类型 FRONTEND:前端 BACKEND:后端 authorizer_type String 自定义认证函数类型: LD:自定义后端函数 FUNC:函数服务函数 authorizer_uri String 函数地址。 注意:使用自定义后端的函数API,API请求方法必须为POST,且API状态必须为已部署。 authorizer_version String 函数版本。 当函数别名URN和函数版本同时传入时,函数版本将被忽略,只会使用函数别名URN 最大长度:64 authorizer_alias_uri String 函数别名地址。 当函数别名URN和函数版本同时传入时,函数版本将被忽略,只会使用函数别名URN identities Array of Identity objects 认证来源 ttl Integer 缓存时间 user_data String 用户数据 ld_api_id String 自定义后端服务ID。 自定义认证函数类型为LD时必填 need_body Boolean 是否发送body id String 自定义认证编号 create_time String 创建时间 roma_app_id String 自定义认证所属应用编号 roma_app_name String 自定义认证所属应用名称 表6 Identity 参数 参数类型 描述 name String 参数名称。 支持数字,英文,下划线,中划线,点,且只能以数字或英文开头。 最小长度:0 最大长度:32 location String 参数位置 validation String 参数校验表达式,默认为null,不做校验 最大长度:1024 状态码: 401 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 403 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 404 表9 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 500 表10 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述
  • 请求示例 { "name" : "Authorizer_demo", "type" : "FRONTEND", "authorizer_type" : "LD", "ld_api_id" : "6f8e61317e4e4fbf8e8220cc19fcced9", "authorizer_uri" : "/test", "identities" : [ { "name" : "header", "location" : "HEADER" } ], "ttl" : 5}
  • 响应示例 状态码: 200 OK { "name" : "Authorizer_demo", "type" : "FRONTEND", "authorizer_type" : "LD", "authorizer_uri" : "/test", "identities" : [ { "name" : "header", "location" : "HEADER" } ], "ttl" : 5, "need_body" : true, "id" : "0d982c1ac3da493dae47627b6439fc5c", "create_time" : "2020-09-23T02:32:10Z", "roma_app_id" : "98df09fb-d459-4cbf-83a7-2b55ca6f3d5d", "roma_app_name" : "app-demo"} 状态码: 401 Unauthorized { "error_code" : "APIG.1002", "error_msg" : "Incorrect token or token resolution failed"} 状态码: 403 Forbidden { "error_code" : "APIG.1005", "error_msg" : "No permissions to request this method"} 状态码: 404 Not Found { "error_code" : "APIG.3081", "error_msg" : "authorizer with id: 0d982c1ac3da493dae47627b6439fc5c not found"} 状态码: 500 Internal Server Error { "error_code" : "APIG.9999", "error_msg" : "System error"}
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表3 请求Body参数 参数 是否必选 参数类型 描述 name 是 String 自定义认证的名称。 长度为3 ~ 64位的字符串,字符串由中文、英文字母、数字、“_”组成,且只能以英文或中文开头。 type 是 String 自定义认证类型 FRONTEND:前端 BACKEND:后端 authorizer_type 是 String 自定义认证函数类型: LD:自定义后端函数 FUNC:函数服务函数 authorizer_uri 是 String 函数地址。 注意:使用自定义后端的函数API,API请求方法必须为POST,且API状态必须为已部署。 authorizer_version 否 String 函数版本。 当函数别名URN和函数版本同时传入时,函数版本将被忽略,只会使用函数别名URN 最大长度:64 authorizer_alias_uri 否 String 函数别名地址。 当函数别名URN和函数版本同时传入时,函数版本将被忽略,只会使用函数别名URN identities 否 Array of Identity objects 认证来源 ttl 否 Integer 缓存时间 user_data 否 String 用户数据 ld_api_id 否 String 自定义后端服务ID。 自定义认证函数类型为LD时必填 need_body 否 Boolean 是否发送body 表4 Identity 参数 是否必选 参数类型 描述 name 是 String 参数名称。 支持数字,英文,下划线,中划线,点,且只能以数字或英文开头。 最小长度:0 最大长度:32 location 是 String 参数位置 validation 否 String 参数校验表达式,默认为null,不做校验 最大长度:1024
  • 响应示例 状态码: 200 OK { "content_type" : "json", "created_time" : "2020-09-18T09:25:59Z", "description" : "", "id" : "bd42841c20184da6bbf457c6d8a06e37", "instance" : "f0fa1789-3b76-433b-a787-9892951c620e", "method" : "GET", "modified_time" : "2020-09-18T09:25:59Z", "name" : "livedata_api_demo", "parameters" : [ ], "path" : "/test/function", "return_format" : false, "roma_app_id" : "98df09fb-d459-4cbf-83a7-2b55ca6f3d5d", "scripts" : [ ], "status" : 1, "type" : "", "version" : "1.0.1"} 状态码: 400 Bad Request { "error_code" : "APIG.2011", "error_msg" : "Invalid parameter value,parameterName:name. Please refer to the support documentation"} 状态码: 401 Unauthorized { "error_code" : "APIG.1002", "error_msg" : "Incorrect token or token resolution failed"} 状态码: 403 Forbidden { "error_code" : "APIG.1005", "error_msg" : "No permissions to request this method"} 状态码: 404 Not Found { "error_code" : "APIG.3084", "error_msg" : "The livedata API does not exist, id: bd42841c20184da6bbf457c6d8a06e37"} 状态码: 500 Internal Server Error { "error_code" : "APIG.9999", "error_msg" : "System error"}
  • 请求示例 { "content_type" : "json", "method" : "GET", "name" : "livedata_api_demo", "path" : "/test/function", "return_format" : false, "roma_app_id" : "98df09fb-d459-4cbf-83a7-2b55ca6f3d5d", "version" : "1.0.1"}
  • 响应消息体 响应消息体通常以结构化格式(如JSON或XML)返回,与响应消息头中Content-type对应,传递除响应消息头之外的内容。 对于获取用户Token接口,返回如下消息体。为篇幅起见,这里只展示部分内容。 { "token": { "expires_at": "2019-02-13T06:52:13.855000Z", "methods": [ "password" ], "catalog": [ { "endpoints": [ { "region_id": "az-01",...... 当接口调用出错时,会返回错误码及错误信息说明,错误响应的Body体格式如下所示。 { "error_msg": "The format of message is error", "error_code": "AS.0001"} 其中,error_code表示错误码,error_msg表示错误描述信息。
  • API概览 功能 API分类 说明 公共资源API 应用管理 集成应用相关API,包括集成应用的创建、修改、查询、删除等操作。 资产管理 资产相关API,包括资产的导入、导出、下载等操作。 字典管理 字典相关API,包括字典的创建、修改、查询、删除等操作。 公共管理 接口版本相关API,可查询接口版本的信息。 实例管理 实例相关API,可查询实例的信息。 数据集成API 数据源管理 数据源相关API,包括数据源的创建、修改、查询、删除等操作。 任务监控管理 任务监控相关API,可查询任务的运行信息。 任务管理 数据集成任务相关API,包括任务的创建、修改、查询、删除、启动等操作。 服务集成API API分组管理 API分组相关API,包括分组的创建、修改、查询、删除等操作。 API管理 API管理相关API,包括API的创建、修改、查询、删除、发布等操作。 环境管理 环境相关API,包括环境的创建、修改、查询、删除等操作。 环境变量管理 环境变量相关API,包括环境变量的创建、修改、查询、删除等操作。 域名管理 域名相关API,包括域名的绑定、修改、查询、删除等操作。 流控策略管理 流控策略相关API,包括策略的创建、修改、查询、删除等操作。 API绑定流控策略 流控策略绑定相关API,包括策略的绑定、解绑等操作。 设置特殊流控 特殊流控策略相关API,包括特殊流控策略的创建、修改、查询、删除等操作。 签名密钥管理 签名密钥相关API,包括签名密钥的创建、修改、查询、删除等操作。 签名密钥绑定关系管理 签名密钥绑定相关API,包括签名密钥的绑定、解绑等操作。 ACL策略管理 ACL策略相关API,包括策略的创建、修改、查询、删除等操作。 API绑定ACL策略 ACL策略绑定相关API,包括策略的绑定、解绑等操作。 OpenAPI接口 API导入导出相关API,包括前后端API的导入导出操作。 VPC通道管理 VPC通道相关API,包括VPC通道的创建、修改、查询、删除等操作。 客户端配置 客户端配置相关API,包括APP Code的创建、查询、删除等操作。 客户端配额 客户端配额相关API,包括客户端配额的创建、修改、查询、删除等操作。 APP授权管理 APP授权相关API,包括APP的授权、解授权、授权查询等操作。 自定义后端服务 自定义后端相关API,包括自定义后端的创建、修改、查询、删除、部署等操作。 自定义认证管理 自定义认证相关API,包括自定义认证的创建、修改、查询、删除等操作。 监控信息查询 监控信息查询相关API,可查询不同监控信息。 实例管理 实例相关API,可查询ROMA Connect的实例信息。 实例特性管理 实例特性配置相关API,包括特性配置、特性查询等操作。 标签管理 标签相关API,可查询标签信息。 配置管理 配置查询相关API,可查询实例的用户配置。 应用配置管理 应用配置相关API,包括应用配置的创建、修改、查询、删除等操作。 VPC通道管理-项目级 项目下VPC通道相关API,包括项目下VPC通道的创建、修改、查询、删除等操作。 消息集成API MQS实例管理 MQS实例相关API,可查询实例相关信息。 主题管理 消息Topic相关API,包括Topic查询、删除等操作。 应用权限管理 消息Topic权限相关API,包括Topic权限更新、查询等操作。 消息管理 消息相关API,包括消息的查询、重发等操作。 设备集成API 设备分组管理 设备分组相关API,包括设备分组的创建、修改、查询、删除等操作。 设备管理 设备相关API,包括设备的创建、修改、查询、删除等操作。 产品模板 产品模板相关API,包括产品模板的创建、修改、查询、删除等操作。 产品管理 产品相关API,包括产品的创建、修改、查询、删除等操作。 规则引擎 规则引擎相关API,包括规则的创建、修改、查询、删除等操作。 服务管理 设备服务相关API,包括设备服务和属性的创建、修改、查询、删除等操作。 订阅管理操作 设备订阅相关API,包括订阅的创建、修改、查询、删除等操作。
  • 调用API获取项目ID 项目ID可以通过调用IAM的查询指定条件下的项目信息API获取。 获取项目ID的接口为“GET https://{Endpoint}/v3/projects/”,其中{Endpoint}为IAM的终端节点,可以从地区和终端节点获取。接口的认证鉴权请参见认证鉴权。 响应示例如下,其中projects下的“id”即为项目ID。 { "projects": [ { "domain_id": "65382450e8f64ac0870cd180d14e684b", "is_domain": false, "parent_id": "65382450e8f64ac0870cd180d14e684b", "name": "xxxxxxxx", "description": "", "links": { "next": null, "previous": null, "self": "https://www.example.com/v3/projects/a4a5d4098fb4474fa22cd05f897d6b99" }, "id": "a4a5d4098fb4474fa22cd05f897d6b99", "enabled": true } ], "links": { "next": null, "previous": null, "self": "https://www.example.com/v3/projects" }}
  • 修订记录 表1 文档修订记录 发布日期 修订记录 2022-07-19 优化“查询API指标统计值”的“cycle”参数描述。 2021-07-31 上线API的应用示例。 2021-07-20 公共资源API中新增“查询实例列表”接口。 2021-01-06 补充API接口的权限和授权项说明。 2021-01-04 上线V2版本数据集成API和设备集成API。 消息集成的“查询MQS实例列表”、“查询Topic列表”、“重发消息”接口补充了query参数,优化了部分参数描述。 2020-12-24 上线公共资源API和消息集成API。 2020-09-29 上线V2版本服务集成API,修改设备集成API参数问题。 2020-07-28 优化“创建API”、“修改API”、“查询API详情”、“创建后端API”、“修改后端API”、“查询后端API详情”和“测试后端API”接口的“required”参数描述。 2020-06-29 优化“创建规则引擎源端”接口的“dataFormatTrans”和“ruleSrcLevel”参数描述。 2020-03-30 修改错误码描述。 2019-12-17 优化“API概览”、“如何调用API”、“附录”等公共章节内容。 2019-08-15 第一次正式发布。
  • 概述 ROMA Connect是一个全栈式的应用与数据集成平台,提供消息、数据、API、设备等集成能力,简化企业上云,支持云上云下、跨区域集成,帮助企业实现数字化转型。 您可以使用本文档提供的API对ROMA Connect进行相关操作,如创建、删除、变更API、添加自定义后端等。支持的全部操作请参见API概览。 在调用ROMA Connect API之前,请确保已经充分了解ROMA Connect相关概念,详细信息请参见产品介绍。 父主题: 使用前必读
  • 状态码 表1 状态码 状态码 说明 200 OK 请求正常。 201 Created 创建类的请求完全成功。 202 Accepted 已经接受请求,但未处理完成。 204 No Content 请求完全成功,同时HTTP响应不包含响应体。 400 Bad Request 非法请求。 建议直接修改该请求,不要重试该请求。 401 Unauthorized 在客户端提供认证信息后,返回该状态码,表明服务端指出客户端所提供的认证信息不正确或非法。 403 Forbidden 请求被拒绝访问。 返回该状态码,表明请求能够到达服务端,且服务端能够理解用户请求,但是拒绝做更多的事情,因为该请求被设置为拒绝访问,建议直接修改该请求,不要重试该请求。 404 Not Found 所请求的资源不存在。 建议直接修改该请求,不要重试该请求。 405 Method Not Allowed 请求中带有该资源不支持的方法。 建议直接修改该请求,不要重试该请求。 406 Not Acceptable 服务器无法根据客户端请求的内容特性完成请求。 407 Proxy Authentication Required 请求要求代理的身份认证,与401类似,但请求者应当使用代理进行授权。 408 Request Timeout 服务器等候请求时发生超时。 客户端可以随时再次提交该请求而无需进行任何更改。 409 Conflict 服务器在完成请求时发生冲突。 返回该状态码,表明客户端尝试创建的资源已经存在,或者由于冲突请求的更新操作不能被完成。 410 Gone 客户端请求的资源已经不存在。 返回该状态码,表明请求的资源已被永久删除。 429 Too Many Request 表明请求超出了客户端访问频率的限制或者服务端接收到多于它能处理的请求。建议客户端读取相应的Retry-After首部,然后等待该首部指出的时间后再重试。 500 Internal Server Error 表明服务端能被请求访问到,但是不能理解用户的请求。 501 Not Implemented 服务器不支持请求的功能,无法完成请求。 502 Bad Gateway 充当网关或代理的服务器,从远端服务器接收到了一个无效的请求。 503 Service Unavailable 被请求的服务无效。 建议直接修改该请求,不要重试该请求。 504 Gateway Timeout 请求在给定的时间内无法完成。客户端仅在为请求指定超时(Timeout)参数时会得到该响应。 父主题: 附录
  • 公共资源权限 表1 公共资源权限 权限 对应API接口 授权项(Action) 依赖的授权项 IAM项目 (Project) 企业项目 (Enterprise Project) 创建实例 - roma:instances:create vpc:vpcs:get vpc:vpcs:list vpc:ports:create vpc:ports:get vpc:ports:update vpc:securityGroups:get vpc:floatingIps:get vpc:publicIps:list vpc:floatingIps:update vpc:subnets:get vpc:securityGroupRules:get √ √ 更新实例 - roma:instances:update vpc:securityGroups:get vpc:publicIps:get vpc:floatingIps:update vpc:ports:update √ √ 删除实例 - roma:instances:delete - √ √ 查看实例列表 - roma:instances:list - √ √ 查看实例详情 - roma:instances:get - √ √ 创建应用 POST /v2/{project_id}/instances/{instance_id}/apps roma:applications:create - √ √ 更新应用 PUT /v2/{project_id}/instances/{instance_id}/apps/{app_id} roma:applications:update - √ √ 删除应用 DELETE /v2/{project_id}/instances/{instance_id}/apps/{app_id} roma:applications:delete - √ √ 应用用户管理 PUT /v2/{project_id}/instances/{instance_id}/apps/{app_id}/users roma:applications:user - √ √ 查看应用列表 GET /v2/{project_id}/instances/{instance_id}/apps roma:applications:list - √ √ 查看应用详情 GET /v2/{project_id}/instances/{instance_id}/apps/{app_id} roma:applications:get - √ √ 导入资产 POST /v2/{project_id}/instances/{instance_id}/assets/import roma:assets:import - √ √ 导出资产 POST /v2/{project_id}/instances/{instance_id}/assets/export roma:assets:export - √ √ 创建数据字典 POST /v2/{project_id}/instances/{instance_id}/dictionaries roma:dictionaries:create - √ √ 更新数据字典 PUT /v2/{project_id}/instances/{instance_id}/dictionaries/{dict_id} roma:dictionaries:update - √ √ 删除数据字典 DELETE /v2/{project_id}/instances/{instance_id}/dictionaries/{dict_id} roma:dictionaries:delete - √ √ 查看数据字典列表 GET /v2/{project_id}/instances/{instance_id}/dictionaries roma:dictionaries:list - √ √ 查看数据字典详情 GET /v2/{project_id}/instances/{instance_id}/dictionaries/{dict_id} roma:dictionaries:get - √ √ 父主题: 权限和授权项
  • 设备集成权限 表1 设备集成权限 权限 对应API接口 授权项(Action) 依赖的授权项 IAM项目 (Project) 企业项目 (Enterprise Project) 创建产品模板 POST /v2/{project_id}/link/instances/{instance_id}/product-templates roma:productTemplates:create - √ √ 更新产品模板 PUT /v2/{project_id}/link/instances/{instance_id}/product-templates/{product_template_id} roma:productTemplates:update - √ √ 删除产品模板 DELETE /v2/{project_id}/link/instances/{instance_id}/product-templates/{product_template_id} roma:productTemplates:delete - √ √ 父主题: 权限和授权项
  • 方案实现 ROMA Connect支持通过控制台或API方式进行业务配置。本章节主要介绍如何调用ROMA Connect的业务API完成业务系统数据开放的配置,以指导开发者在进行业务系统开发时,如何集成ROMA Connect的业务功能。 调用业务API实现业务系统数据开放的流程如下: 获取集成应用ID。 如果有可用的集成应用,则调用“查询应用列表”接口,获取集成应用ID。 如果没有可用的集成应用,则调用“创建应用”接口,创建一个集成应用并获取集成应用ID。 接入数据源。 调用“创建数据源”接口,接入需要开放数据的数据库,并获取返回的数据源ID。 创建数据后端。 调用“创建后端API”接口,创建一个自定义后端,并获取返回的后端API编号。 调用“创建后端API脚本”接口,配置数据后端。 获取API分组ID。 如果有可用的API分组,则调用“查询分组列表”接口,获取分组ID。 如果没有可用的API分组,则调用“创建API分组”接口,创建一个API分组并获取分组ID。 部署并发布数据API。 调用“部署后端API”接口,部署数据后端并发布一个数据API,获取返回的前端数据API编号。 (可选)若需要为数据API添加请求参数,则需要调用“修改API”接口为数据API添加请求参数。 为数据API绑定独立域名。 调用“绑定域名”接口,为数据API绑定一个独立域名,并获取返回的域名编号。 (可选)若数据API使用HTTPS请求协议,则需要调用“绑定域名证书”接口为独立域名添加SSL证书。 获取数据API的调用信息。 调用“查询API详情”接口,查看并保存API的调用信息,包括API的请求协议、请求方式、请求路径、访问域名、请求参数和认证方式。 把API调用信息提供给其他用户,其他用户通过调用数据API,获取开放的业务数据。
  • 数据集成权限 表1 数据集成权限 权限 对应API接口 授权项(Action) 依赖的授权项 IAM项目 (Project) 企业项目 (Enterprise Project) 创建任务 POST /v2/{project_id}/fdi/instances/{instance_id}/tasks roma:tasks:create - √ √ 更新任务 - roma:tasks:update - √ √ 删除任务 DELETE /v2/{project_id}/fdi/instances/{instance_id}/tasks/{task_id} roma:tasks:delete - √ √ 启动停止任务 POST /v2/{project_id}/fdi/instances/{instance_id}/batch-operation/tasks roma:tasks:operate - √ √ 查看任务列表 - roma:tasks:list - √ √ 查看任务详情 GET /v2/{project_id}/fdi/instances/{instance_id}/tasks/{task_id} roma:tasks:get - √ √ 创建连接器 - roma:connectors:create - √ √ 更新连接器 - roma:connectors:update - √ √ 删除连接器 - roma:connectors:delete - √ √ 发布连接器 - roma:connectors:release - √ √ 查看连接器列表 - roma:connectors:list - √ √ 查看连接器详情 - roma:connectors:get - √ √ 父主题: 权限和授权项
  • 获取数据API的调用信息 调用“查询API详情”接口,查看并保存API的调用信息,包括API的请求协议、请求方式、请求路径、访问域名、请求参数和认证方式。 请求示例: GET /v2/{project_id}/apic/instances/{instance_id}/apis/{api_id} 其中加粗部分需要根据接口参数说明,替换为实际的数据值。{api_id}为部署并发布数据API中获取并保存的前端数据API编号。 响应示例: { "name": "API_test", "type": 1, "version": "V1.0", "req_protocol": "HTTP", "req_method": "GET", "req_uri": "/api/demo", "auth_type": "APP", ... "domain_name": "www.example.com", ... "req_params": [], ...} 响应消息中,“req_protocol”为请求协议,“req_method”为请求方式,“req_uri”为请求路径,“domain_name”为访问域名,“req_params”为请求参数信息,“auth_type”为认证方式。 把API调用信息提供给其他用户,其他用户通过调用数据API,获取开放的业务数据。不同的API认证方式,调用数据API的操作有所不同,具体请参考调用开放的API。
  • 获取集成应用ID 在ROMA Connect实例中创建的资源(如数据源、API等)都要归属到某个集成应用下,在创建资源前需要获取资源所归属的集成应用ID。 如果有可用的集成应用,则调用“查询应用列表”接口,获取集成应用ID。 请求示例: GET /v2/{project_id}/instances/{instance_id}/apps 其中加粗部分需要根据接口参数说明,替换为实际的数据值。 响应示例: { "total" : 1, "size" : 1, "apps" : [ { "id" : "b2e6b145********f4b8029f95a3", "name" : "AppName", "remark" : "example" } ], ...} 响应消息中“apps”的值为查询到的集成应用信息列表,找到要使用的集成应用,其中“id”的值即为集成应用ID,保存并留待后续步骤使用。 如果没有可用的集成应用,则调用“创建应用”接口,创建一个集成应用并获取集成应用ID。 请求示例: POST /v2/{project_id}/instances/{instance_id}/apps{ "name" : "AppName", "key" : "xxxxxx", "secret" : "******"} 其中加粗部分需要根据接口参数说明,替换为实际的数据值。 响应示例: { "id" : "b2e6b145********f4b8029f95a3", "name" : "AppName", "remark" : "example", ...} 响应消息中“id”的值即为集成应用ID,保存并留待后续步骤使用。
  • 接入数据源 调用“创建数据源”接口,接入需要开放数据的数据库,并获取返回的数据源ID。此处以MySQL数据库为例进行说明,其他类型数据库请参考接口的参数说明。 请求示例: POST /v2/{project_id}/fdi/instances/{instance_id}/datasources{ "datasource_name" : "fdi_ds_mysql", "datasource_type" : "MYSQL", "content" : { "host" : "10.10.10.10", "port" : "3306", "database_name" : "romatest", "user_name" : "romatest", "password" : "******", "mode" : "default" }, "app_id" : "xxxxxx", "description" : "test"} 其中加粗部分需要根据接口参数说明,替换为实际的数据值。xxxxxx为获取集成应用ID中获取并保存的集成应用ID。 响应示例: { "datasource_id" : "0fd3669d********ed3160ed051", "datasource_name" : "fdi_ds_api_v2", "datasource_type" : "API", ...} 响应消息中“datasource_id”的值即为数据源ID,保存并留待后续步骤使用。
  • 创建数据后端 通过创建数据后端,把要开放的数据库转换为API的后端服务。 调用“创建后端API”接口,创建一个自定义后端,并获取返回的后端API编号。 请求示例: POST /v2/{project_id}/apic/instances/{instance_id}/livedata-apis{ "name" : "data_api_demo", "path" : "/data/test", "method" : "GET", "roma_app_id" : "xxxxxx", "version" : "1.0", "content_type" : "json", "return_format" : false, "parameters" : [ { "name" : "param1", "in" : "Parameters", "required" : true } ]} 其中加粗部分需要根据接口参数说明,替换为实际的数据值。xxxxxx为获取集成应用ID中获取并保存的集成应用ID。“parameters”下可根据实际需要设置多个后端请求参数,或不设置请求参数。 响应示例: { "id" : "bd42841c********c6d8a06e37", "name" : "data_backend", "roma_app_id" : "98df09fb********2b55ca6f3d5d", "content_type" : "json", ...} 响应消息中“id”的值即为后端API编号,保存并留待后续步骤使用。 调用“创建后端API脚本”接口,配置数据后端。 请求示例: POST /v2/{project_id}/apic/instances/{instance_id}/livedata-apis/{ld_api_id}/scripts{ "api_type" : "data", "scripts" : [ { "ds_id" : "xxxxxx", "type" : "SQL", "object_name" : "data", "content" : "ZnVuY3Rpb24g******cmxkISIKfQ==" } ]} 其中加粗部分需要根据接口参数说明,替换为实际的数据值。{ld_api_id}为创建自定义后端时获取并保存的后端API编号,xxxxxx为接入数据源中获取并保存的数据源ID。
  • 获取API分组ID API分组是同一类业务API的集合,每个API都要归属到某个API分组下,在发布数据API前需要获取API所归属的API分组ID。 API只有在发布到环境后,才能被外部用户调用,在发布数据API前需要获取API要发布的环境ID。 如果有可用的API分组,则调用“查询分组列表”接口,获取分组ID。 请求示例: GET /v2/{project_id}/apic/instances/{instance_id}/api-groups 其中加粗部分需要根据接口参数说明,替换为实际的数据值。 响应示例: { "total" : 2, "size" : 2, "groups" : [ { "name" : "api_group_001", "id" : "c77f5e81d********ef2b0ac7600", "remark" : "group1", ... }, ... ] } 响应消息中“groups”的值为查询到的API分组列表,找到要使用的API分组,其中“id”的值即为API分组ID,保存并留待后续步骤使用。 如果没有可用的API分组,则调用“创建API分组”接口,创建一个API分组并获取分组ID。 请求示例: POST /v2/{project_id}/apic/instances/{instance_id}/api-groups{ "name" : "api_group_001", "version" : "V2", "roma_app_id" : "xxxxxx"} 其中加粗部分需要根据接口参数说明,替换为实际的数据值。xxxxxx为获取集成应用ID中获取并保存的集成应用ID。 响应示例: { "name" : "api_group_001", "id" : "c77f5e81d********ef2b0ac7600", "remark" : "group1", ...} 响应消息中“id”的值即为API分组ID,保存并留待后续步骤使用。
  • 部署并发布数据API 调用“部署后端API”接口,部署数据后端并发布一个数据API,获取返回的前端数据API编号。 请求示例: POST /v2/{project_id}/apic/instances/{instance_id}/livedata-apis/{ld_api_id}/deploy{ "deploy_front_api" : true, "roma_app_id" : "xxxxxx" "auth_type" : "APP", "group_id" : "yyyyyy", "env_id" : "DEFAULT_ENVIRONMENT_RELEASE_ID", "method" : "GET", "path" : "/data/test", "protocol" : "HTTPS", "backend_timeout" : 5000, "cors": false} 其中加粗部分需要根据接口参数说明,替换为实际的数据值。{ld_api_id}为创建数据后端时获取并保存的后端API编号,xxxxxx为获取集成应用ID中获取并保存的集成应用ID,yyyyyy为获取API分组ID中获取并保存的API分组ID。 响应示例: { "id" : "5e19590f54444d8a9b8fe698ce26e9fe", "deploy_time" : "2020-09-19T06:58:13Z", "api_id" : "1d0432f1a********ae7bd96ca6", "env_id" : "DEFAULT_ENVIRONMENT_RELEASE_ID", ...} 响应消息中“api_id”的值即为前端数据API的编号,保存并留待后续步骤使用。 (可选)在发布数据API时无法为数据API添加请求参数,若需要为数据API添加请求参数,则调用“修改API”接口为数据API添加请求参数。 请求示例: PUT /v2/{project_id}/apic/instances/{instance_id}/apis/{api_id}{ "name": "Data_API", "type": 1, "req_protocol": "HTTPS", "req_method": "GET", "req_uri": "/data/test", "auth_type": "APP", "backend_type": "HTTP", "group_id": "c77f5e81d********ef2b0ac7600", "req_params": [ { "name": "param01", "type": "STRING", "location": "QUERY" } ],} 其中加粗部分需要根据接口参数说明,替换为实际的数据值。{api_id}为发布数据API时获取并保存的前端数据API编号,“req_protocol”、“req_method”、“req_uri”、“auth_type”、“group_id”需与发布数据API时设置的值保持一致。“parameters”下可根据实际需要设置多个后端请求参数,或不设置请求参数。
  • 为数据API绑定独立域名 开放的API需要绑定独立域名,用户通过独立域名访问API。 调用“绑定域名”接口,为数据API绑定一个独立域名,并获取返回的域名编号。 请求示例: POST /v2/{project_id}/apic/instances/{instance_id}/api-groups/{group_id}/domains{ "url_domain" : "www.example.com"} 其中加粗部分需要根据接口参数说明,替换为实际的数据值。{group_id}为获取API分组ID中获取并保存的API分组ID。 响应示例: { "url_domain" : "www.example.com", "id" : "c5e0d5ba********ae22c1a17", "status" : 3, "min_ssl_version" : "TLSv1.1"} 响应消息中“id”的值即为域名编号,保存并留待后续步骤使用。 (可选)若部署并发布数据API时配置了使用HTTPS协议,则需要调用“绑定域名证书”接口为独立域名添加SSL证书。 请求示例: POST /v2/{project_id}/apic/instances/{instance_id}/api-groups/{group_id}/domains/{domain_id}/certificate{ "name" : "cert_demo", "private_key" : "-----Start certificate----********-----End certificate-----", "cert_content" : "-----Start RSA private key----- ********-----End RSA private key-----"} 其中加粗部分需要根据接口参数说明,替换为实际的数据值。{group_id}为获取API分组ID中获取并保存的API分组ID,{domain_id}为绑定独立域名时获取并保存的域名编号。
  • 响应示例 状态码: 401 Unauthorized { "error_code" : "APIG.1002", "error_msg" : "Incorrect token or token resolution failed"} 状态码: 403 Forbidden { "error_code" : "APIG.1005", "error_msg" : "No permissions to request this method"} 状态码: 404 Not Found { "error_code" : "APIG.3001", "error_msg" : "API group c77f5e81d9cb4424bf704ef2b0ac7600 does not exist"} 状态码: 500 Internal Server Error { "error_code" : "APIG.9999", "error_msg" : "System error"}
  • 响应参数 状态码: 401 表3 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 403 表4 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 404 表5 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 500 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述
  • 响应示例 状态码: 401 Unauthorized { "error_code" : "APIG.1002", "error_msg" : "Incorrect token or token resolution failed"} 状态码: 403 Forbidden { "error_code" : "APIG.1005", "error_msg" : "No permissions to request this method"} 状态码: 404 Not Found { "error_code" : "APIG.3002", "error_msg" : "API 5f918d104dc84480a75166ba99efff21 does not exist"} 状态码: 500 Internal Server Error { "error_code" : "APIG.9999", "error_msg" : "System error"}
  • 响应参数 状态码: 401 表3 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 403 表4 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 404 表5 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 500 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述
共100000条