Astro轻应用 AstroZero-什么是原生服务:如何使用原生服务

时间:2023-11-01 16:25:39

如何使用原生服务

租户线下开发了一些服务,服务运行在Docker容器中。租户希望可将线下开发的这些服务集成到AstroZero上,供AstroZero内部应用或者其他第三方系统调用。

Native Service在AstroZero内的使用场景包括但不限于:

  • 在服务编排内部进行调用

    租户线下开发的服务集成到AstroZero上,可以作为Native服务,被服务编排调用。

  • 外部系统通过Restful接口调用

    通过下面的REST接口,调用原生服务,输入参数在body中填写。

    https://AstroZero域名/native/NativeService1/0.1.0/health

    其中,“AstroZero域名”为AstroZero对外提供的默认域名,“/native/NativeService1/0.1.0/health”为该服务开放接口的URL,可以在开放接口详情中获取。该调用方式,只适用于外部接口。

    图3 查看接口URL
  • 在脚本中调用

    租户线下开发的服务集成到AstroZero上,且在AstroZero上自定义该服务的开放接口后,可以在脚本中内部调用开放接口。

    脚本部分示例如下:

    let resp3 = httpClient.post("https://AstroZero域名" + "/native/NativeService1/0.1.0/health", callOptions3);console.log(context.getHost())console.log(resp3.body);if (resp3.body.resCode == "0" && resp.body.result) {console.log('auth success, currrent user is: ', resp3.body.result.name)}

    其中,“AstroZero域名”为AstroZero对外提供的开发态默认域名,“/native/NativeService1/0.1.0/health”为该服务开放接口的URL。该调用方式,只适用于外部接口。

  • 在页面中调用

    在高级页面的Widget代码中,调用原生服务的开放接口。标准页面则可在事件代码中直接调用原生服务的开放接口或通过定义服务模型,关联调用原生服务的服务编排,再在页面事件代码中,调用服务模型,从而来调用原生服务。

    在标准页面上传组件中,还可以调用原生服务的自定义接口实现上传功能。标准页面中上传组件功能介绍,请参见上传

  • 在工作流中调用

    在服务编排中调用原生服务后,向工作流设计页面的泳道中,拖入“调用服务编排”图元。选择,在服务编排配置页面,选择需要调用的服务编排。

  • 在触发器中调用

    在服务编排中调用原生服务后,在触发器中可调用该服务编排,当满足触发器规则时,系统会执行该服务编排。

support.huaweicloud.com/usermanual-astrozero/astrozero_05_0259.html