您在CSB实例中发布服务后,可以管理发布的服务,包括管理服务的生命周期、设置黑白名单、复制服务、导入服务、导出服务和转换服务的定制化参数等。
管理生命周期
在我的服务页面可以管理服务的生命周期。
生命周期包含以下状态:
- 激活(启动)
- 停止
- 待审批(等待一次审批)
- 审批驳回(一级审批驳回)
- 等待二级审批
- 二级审批驳回
- 注销
管理服务的生命周期包括启动、停止和注销。
- 服务可以在停止和启动两种状态间切换,但是一旦注销则不可以再启动。
- 服务注销是服务生命周期的最终状态,意味着不可以对该服务进行变更,启动、停止和订购操作。
设置黑白名单
您可以设置服务访问的黑白名单。
复制服务
复制服务是用来快速的将一个已经存在的服务复制成一个新的服务,它的接入和开放协议及参数等信息保持不变,改变的是服务名、服务版本或者服务组。
说明
- 服务复制仅限于在当前实例中。
- 复制过程中要保证新服务的服务全名+服务版本在本实例中保持唯一,并且其它同名的服务已经处于注销状态。
导出和导入服务
您可以导出和导入服务,且都支持批量操作。
-
导出服务
- 在我的服务页面搜索需要导出的任务。
支持按照服务名、服务组名、服务别名和后端接入端点进行搜索服务。
- 在我的服务页面单击导出服务。
- 在弹出的操作确认对话框中单击确认。
- 在导出服务对话框中复制当前服务的JSON格式内容,保存到文本编辑器,将当前服务导出。
如果导出多个服务的JSON代码,需要按照
[json1, json2,...]
格式,其中,json1,json2为服务导出时的单个服务的完整的JSON串。说明 格式串中最外层使用方括号([])形成一个导入的文本。
- 在我的服务页面搜索需要导出的任务。
- 导入服务
- 在我的服务页面单击导入服务。
- 在批量导入服务对话框中选择要导入的目标服务组,设置导入选项,并将导出服务的JSON代码串粘贴到导入服务的JSON串区域,然后单击确认。
导入过程中如果一条服务导入失败,可以选择继续导入其他服务或者停止导入。
说明- 如果要导入的服务已经在本服务组中存在,可以对导入JSON文本中的service_name值进行修改,然后保存进行导入。
- 导入服务时不会导入级联服务,只会把需要导入的服务导入到当前实例下指定的服务组中。
转换服务的定制化参数
CSB支持服务入参和出参的定制化参数转化,目前仅支持HTTP协议开放成HTTP协议的场景,数据类型仅支持form和JSON,脚本只支持Groovy。
- 在我的服务页面选择目标服务,在该服务的操作列中选择 。
- 在参数映射脚本配置对话框选择请求脚本或响应脚本,在请求脚本或响应脚本页签中输入编程语言(默认为GROOVY),在编辑代码区域编写脚本,然后单击确认。
参数映射脚本配置说明:
- 在请求脚本中,数据在简单映射后执行,对于form数据会增量覆盖简单映射后的数据;对于JSON数据会全量覆盖调用方传递过来的数据,默认为
importRequest=exportRequest
。 - 在响应脚本中,目前仅支持JSON,数据会全量覆盖源服务的响应数据,默认为
exportResponse=importResponse
。 - 脚本映射的结果会作为界面映射的输入,建议使用自定义映射就不要使用界面映射,逻辑更清晰。
-
支持4个变量:
exportRequest //开放服务请求参数 importRequest //接入服务请求参数 exportResponse //开放服务返回参数 importResponse //接入服务返回参数
-
HTTP请求结构详解:
{ header:{"":"","":""},//key和value都必须是字符串。 query:{"name":["jackson","catalina"],"age":"1"}, //key字符串,value可以是字符串(单值),或者是字符串的list(多值)。 body:? // form:{"name":["jackson","catalina"],"age":"1"},json:["",""] or {...} }
- 在请求脚本中,数据在简单映射后执行,对于form数据会增量覆盖简单映射后的数据;对于JSON数据会全量覆盖调用方传递过来的数据,默认为