云服务器内容精选

  • 在脚本中,调用Rest Action Rest Action启用后,可在脚本中调用已创建的Rest Action。 参考登录AstroZero新版应用设计器中操作,登录新版应用设计器。 在左侧导航栏中,选择“逻辑”。 单击脚本后的,设置脚本名称,单击“添加”。 图10 新增一个空脚本 在脚本编辑器中,输入如下代码。 // Here's your code. import * as connector from "connector"; let client = connector.newClient("命名空间__test", "test1"); let result = client.invoke("命名空间_flapRefund", {}); console.log(result) 其中,“命名空间__test”表示连接器的名称,“test1”为创建Rest Service(自定义连接器)配置的认证信息名称,“命名空间__flapRefund”为创建并启用Rest Action中配置的动作名称。 单击脚本编辑器页面上方的,保存脚本。 脚本保存成功后,单击,运行脚本。 在页面底部“输入参数”页签中,输入请求参数,单击测试窗口右上角的。 在“日志”页签,查看打印的日志。
  • 创建并启用Rest Action 通过创建Rest Action,使得系统可以调用第三方提供的Rest协议的接口,实现第三方提供的业务功能。 在创建Rest Service(自定义连接器)中创建的Rest Service列表中,选择Rest Action所在的REST Service,在“动作”页签,单击“新建”。 参照表3,设置动作的基本信息,单击“下一步”。 图4 新建动作设置基本信息 参照表4,设置消息头入参,单击“下一步”。 如果此接口没有消息头输入参数,则不需要配置参数,请删除第一行参数。如果有消息头输入参数,且有多个,请单击。如果之前创建Rest Service时,有定义消息头参数,可选择“从模板中插入”,并定义输入参数的基本信息。消息头入参的参数说明请参见。 图5 消息头入参配置页面 参照表5,设置输入参数,单击“下一步”。 如果此接口没有输入参数,则不需要配置参数,删除第一行参数。如果有输入参数,且有多个,请单击,并定义输入参数的基本信息。 页面上方“消息体格式”参数使用说明:当方法为“PUT”或“POST”时,该参数才会显示。当第三方入参为数组类型或者非JSON类型时,需要将“输入消息体方式”设置为“值”形式。 例如,如果设置“消息体格式”为“键-值”,假设定义了输入参数A、B、C,调用时消息体中传递了参数 {A: 1,B:2, C:3} ,此时被调用方收到的参数信息是 {A: 1,B:2, C:3}。如果设置“输入消息体方式”为“值”,此时默认使用$in输入参数定义,调用时消息体中传递了参数{$in: [1,2,3] },此时被调用方收到的参数信息为[1,2,3]。 图6 输入参数配置页面 参照表6,设置输出参数,单击“保存”。 如果此接口没有输出参数,则不需要配置参数,请删除第一行参数。如果有输出参数,且有多个参数,请单击,并定义输出参数的基本信息。 页面上方“消息体格式”参数使用说明:设置“输出消息体方式”为“值”后,系统会引入一个通用的出参变量“$out”,将body的内容存到“$out”中,作为出参。 例如,若设置“消息体格式”为“键-值”,假设定义了输出参数A、B、C,调用后返回消息体中传递了参数 {A: 1,B:2, C:3} ,此时调用方收到的参数信息是 {A: 1,B:2, C:3};若设置“输出消息体方式”为“值”,此时默认使用$out输出参数定义,调用业务接口返回消息体中传递了参数[1,2,3],此时调用方收到的参数信息为{$out:[1,2,3]}。 图7 输出参数配置页面 在动作页签,单击该Rest Action所在行的,启用Rest Action。 单击“导出”,可导出zip包,zip包中包括该服务的所有Rest接口。单击“导入”,可通过导入yaml文件,导入Rest Action。
  • 创建Rest Service(自定义连接器) 通过依次创建Rest Service和Rest Action,使得系统可以调用第三方提供的Rest协议的接口,实现第三方提供的业务功能。 参考登录AstroZero新版应用设计器中操作,登录新版应用设计器。 在左侧导航栏中,选择“集成”。 在“连接器 ”中,单击“连接器实例”,进入连接器实例页面。 在类型中,选择“自定义连接器”,进入自定义连接器页面。 单击“+”,配置连接器信息,单击“保存”。 创建Rest服务自定义连接器参数说明,请参见表2。 图1 创建自定义连接器 在“认证信息”页签,单击“新建”,进入添加认证信息页面。 设置认证信息,单击“保存”。 可以新建多个认证,不同的Rest Action可以有不同的认证方式。认证信息参数说明,请参见表7。 图2 设置认证基本信息 图3 配置认证鉴权信息
  • 操作场景 通过使用AstroZero的自定义连接器、服务编排或事件功能,带您快速对接一个外部服务的接口并暴露为自己的接口。本示例中,假设您需要对接一个已有的Rest服务,通过Rest服务获取数据并加工,最终暴露为本服务的接口。 本章节以表1中的Rest服务接口为例,介绍如何在AstroZero中配置对应的自定义连接器。 表1 Rest服务接口 参数 值 路径 https://example.com/path/to/data?key=value 请求方法 POST 请求头 X-Header 请求体类型 application/json 请求体参数 { “request”: “value” } 响应体类型 application/json 响应体参数 { “response”: “value” }
  • 步骤2:配置连接器认证信息 自定义连接器在服务编排或事件中调用时,需要先配置认证信息。 参考步骤1:创建自定义连接器中操作,进入自定义连接器页面。 在“认证信息”页签,单击“新建”,进入添加认证信息页面。 设置认证信息,单击“保存”。 AstroZero提供了丰富的认证类型供用户选择,请按照自身业务需求,配置对应的认证信息。 图7 配置连接器认证信息页面 图8 配置认证信息 表7 认证信息参数说明 参数 说明 标签 认证的标签名。 取值范围:1~64个字符。 名称 认证的名称,名称是认证在系统中的唯一标识。命名要求如下: 长度不能超过64个字符,包括前缀命名空间的长度。 必须以英文字母开头,只能由英文字母,数字和单下划线组成,且不能以下划线结尾。 目录 认证所属的目录分类名称。 描述 根据实际需求,输入认证的描述信息。 取值范围:1~255个字符。 使用证书 服务端是否需要客户端证书,是否需要进行双向认证。勾选“使用证书”时,需要配置证书类型,证书和密钥。 默认为选中。 使用根证书 客户端是否需要服务端证书,是否需要进行双向认证。 勾选“使用根证书”时,需要提前开启根证书校验并上传根证书,具体操作请参见管理HTTPS根证书。上传后,在根证书下拉框中选择对应的证书即可。 API主机地址 配置此地址后,可以限定REST操作的请求前缀,防止敏感信息泄露。每次更改此地址,都需要重新配置鉴权信息。 打包当前配置 选中该选项后,应用打包时会将当前配置的连接器信息一并打出。例如,如果应用包发布到运行环境,当前配置默认为被同步到运行环境中。默认为选中,对信息敏感的场景,建议不勾选。 鉴权设置 鉴权协议:设置鉴权协议,支持OAuth、简单消息头和JWT(JSON Web Tokens)三种。 鉴权模式:设置为“client credentials”,此处只支持OAuth2的client credentials鉴权模式。 鉴权地址:第三方系统OAuth2协议,获取的token地址。例如,AstroZero获取token的地址为“https://{host}:{port}/baas/auth/v1.0/oauth2/token”,这里需要填入第三方系统的。 Client ID:OAuth2协议中的client id。如果该REST Service是AstroZero提供的,请参考客户端模式接入认证中操作获取。 Client Secret:OAuth2协议中的client secret。如果该REST Service是AstroZero提供的,请参考客户端模式接入认证中操作获取。 消息体属性 从鉴权接口返回的,消息字段的映射规则。 根据OAuth2标准协议,返回体一般如图9所示。由于不同的第三方实现的情况可能不一样,返回的不一定是标准的键值。例如,有些第三方接口返回的是“accessToken”,而不是“access_token”,所以平台需要对这些不标准的键值映射成标准的。 图8中配置的消息体属性是第三方返回的“accessToken”,AstroZero使用“access_token”这个键值来存储。最终存储的结果如下: { “access_token”: ${accessToken} } 消息头属性 定义调用业务接口时,所用的消息头的映射规则。 当使用获取的token,去返回具体rest action时,按照OAuth2的标准一般是将token放到请求头上。例如,Authorization: Bearer ${access_token}。 但是由于各个第三方接口实现的差异性,不一定叫Authorization,也不一定会在token前面加Bearer,例如访问平台的接口,token直接放在请求头Access-Token上,且不需要Bearer前缀,所以需要配置消息头属性。 图8中配置的消息头属性,意思是将从消息体属性获取到的“access_token”放到请求头“Access-Token”上。 图9 返回体