全部产品
云市场

开放 HSF 服务

更新时间:2018-12-26 17:25:57

使用 HSF-REST 功能,您可以将您在 EDAS 中的 HSF 服务快速发布到云服务总线(CSB)上,并支持外部服务通过 Restful API 访问和调用该服务。

前提条件

在开放 HSF 服务前,您需要参考管理服务开放实例,在应用所在 VPC 内新建或扩容服务开放实例。如果选择扩容实例,还需要提交工单,由技术支持人员为您升级实例版本。

选择 HSF 服务

  1. 登录 EDAS 控制台。

  2. 在左侧导航栏中选择组件中心 > 云服务总线 > HSF-REST

  3. HSF 服务列表页面依次选择地域EDAS 命令空间HSF 应用名HSF 服务名:版本号,然后单击搜索

    如果服务较多,可以在 HSF 方法名右侧文本框中输入关键字,然后单击搜索,以搜索效率。HSF 方法名支持不区分大小写的部分匹配。

  4. 在 HSF 服务列表中勾选要开放的服务。

发布 HSF 服务

  1. 选择 HSF 服务后,在 HSF 服务列表 右上角单击发布 REST 服务

  2. 发布 REST 服务对话框中设置发布参数,然后单击确认

    发布 REST 服务

    发布参数说明:

    • 应用所在 VPC:HSF 服务所属应用所在的 VPC。
    • 目标 CSB 实例:要发布到的 CSB 实例。
    • CSB 服务组:要发布到的 CSB 实例中的服务组。如果当前实例中无服务组,可以在右侧单击新建服务组创建服务组,然后再选择。
    • CSB 服务版本:发布的服务的版本。
    • HSF 超时时间(ms):访问该服务的超时时间。
    • 每秒调用链限制:服务开放后,每秒允许调用该服务的最大值。0 表示不限制。
    • 公开访问:是否允许公开访问。公开访问指不需要订购服务就可以访问和调用该服务。
    • 覆盖发布:如果之前已经发布过,此次发布是否覆盖之前发布的版本。

确认发布结果

  1. 在 EDAS 控制台左侧导航栏中选择组件中心 > 云服务总线 > HSF-REST

  2. HFS 服务列表页面中的已发布 CSB 服务列查看您之前发布的 HSF 服务。

    说明:在 HSF 服务发布到 CSB 后,就变成了一个 CSB 服务。

    如果发布的服务较多,可以选择地域EDAS 命令空间HSF 应用名HSF 服务名:版本号,并输入 HSF 方法名关键字,然后单击搜索,方便查找。

  3. 单击服务名,进入 CSB 控制台,可以查看该服务的详细信息。

访问发布的 HSF 服务

在 HSF 服务发布到 CSB 后,您可以通过 CSB HTTP-SDK 来访问该服务。详情请参考 SDK 参考

由于 CSB 上只定义了 HSF 入参的第一级参数名及类型,故对于自定义类的复杂结构参数,需传递对应类对象的完整 JSON 串给 CSB。如 HSF 的第一个入参的Java定义如下:

  1. public class Item {
  2. public String p1;
  3. public String p2;
  4. }

CSB 客户端调用 CSB 中发布的 HSF 服务时,示例代码如下:

  1. String requestURL = "http://CSB服务访问地址:8086/CSB";
  2. String apiName = "HSF-REST服务名";
  3. String version = "HSF-REST版本号";
  4. Map<String, String> params = new HashMap<String, String>();
  5. params.put("inArg0", "{'p1': '参数值1','p2': '参数值2'}"); //此参数值应为HSF参数类对象的JSON串
  6. String result = HttpCaller.doPost(requestURL, apiName, version, params);