本文介绍通过应用集成实现从API配置文件导入流实现数据库内容增删改查。完成创建一个API类型的集成,在该集成中配置集成流实现对数据库内容的增删改查。

前提条件

  • 在阿里云容器服务Kubernetes版上创建了Database服务,详细操作步骤请参见使用镜像快速创建无状态Deployment应用
  • 在数据库已创建表并定义字段,本示例以task表和idtaskcompleted字段为例。
  • 待处理的API文件(示例API文件)需要符合OpenAPI 2.0规范,且已经保存到本地。本文提供的示例文件为压缩格式,使用前请先解压。
  • 本地已安装Postman和MySQL客户端。

背景信息

在集成中导入API文件,自动生成5个子Flow。您可以按需创建5个完整的集成流,实现对API的增删改查。

自动生成的5个子Flow:
  • List all tasks
  • Create new task
  • Fetch task
  • Update task
  • Delete task

创建连接

本示例中会用到Database,所以需要借助连接器创建对应的连接。

创建Database连接,详情请参见创建连接

创建集成

  1. 登录应用集成控制台
  2. 在顶部菜单栏选择地域
  3. 在左侧导航栏选择集成 > 集成列表
  4. 集成列表页面单击新建集成
  5. 创建集成页面选择从API配置文件导入流,选择目标环境,然后单击选择文件,从本地路径上传API文件。
  6. API文件上传完成后,单击点击进行文件校验
    文件校验完成后,会展示API名称API描述API数量信息。文件校验结果
  7. 创建集成页面单击创建
    创建集成后,进入集成设计页面。示例API文件上传后自动生成5个子Flow,每个子Flow的首节点和尾节点已经自动生成,需要为每个子Flow创建完整的集成流,才可以实现对API的增删改查。集成设计-5个子flow
  8. 集成设计页面右上角单击保存,防止创建的集成流丢失。
    注意 返回集成设计页面时,请及时在页面右上角单击保存,以免添加的步骤丢失。

创建List all tasks集成流

  1. 集成设计页面设置集成名,选择目标工作空间环境
  2. 在左侧导航栏选择集成元素 > 集成流 > List all tasks
  3. 在集成流中添加Database连接。
    1. 在集成流中提供的API后单击
    1. 选择组件类型对话框单击连接,然后单击之前新建的Database连接。
    2. 选择操作对话框中Invoke SQL右侧,单击选择
    3. 步骤配置对话框设置SQL语句,然后单击确定设置SQL语句
      SQL语句设置为select * from task,即从task表选取所有的列数据。步骤配置完成后,Invoke SQL出现在集成流中。
  4. 在集成流中添加Data Mapper。
    1. 在集成流中Invoke SQL后单击
    2. 选择组件类型对话框单击逻辑步骤,然后单击Data Mapper
    3. Source > 2-SQL Result > Document RootTarget > 3-Response > body之间单击相同字段进行映射,然后单击确认字段映射
      字段对应关系如下所示。
      Source目录 Source字段 Target字段(body目录)
      Source > 2-SQL Result > Document Root completed completed
      id id
      task task
    4. 设置对话框选择scheme列表中选择任意类型,然后单击创建
  5. 集成设计页面右上角单击保存,防止创建的集成流丢失。
    List all task集成流创建完成。第一个子flow集成流
    注意 返回集成设计页面时,请及时在页面右上角单击保存,以免添加的步骤丢失。

创建Create new task集成流

  1. 集成设计页面设置集成名,选择目标工作空间环境
  2. 在左侧导航栏选择集成元素 > 集成流 > Create new task
  3. 在集成流中添加Database连接。
    1. 在集成流中提供的API后单击
    2. 选择组件类型对话框单击连接,然后单击之前新建的Database连接。
    3. 选择操作对话框中Invoke SQL右侧,单击选择
    4. 步骤配置对话框设置SQL语句,然后单击确定设置SQL语句
      SQL语句设置为insert into task values (:#id, :#task, :#completed),即在task表插入新的列数据。步骤配置完成后,Invoke SQL出现在集成流中。
  4. 在集成流中添加第一个Data Mapper。
    1. 在集成流中提供的API后单击
    2. 选择组件类型对话框单击逻辑步骤,然后单击Data Mapper
    3. Source > 1-Request > bodyTarget > 2-SQL Parameter之间单击相同字段进行映射,然后单击确认字段映射
      字段对应关系如下。
      Source目录 Source字段 Target字段(2-SQL Parameter目录)
      Source > 1-Request > body completed completed
      id id
      task task
    4. 设置对话框选择scheme列表中选择任意类型,然后单击创建
  5. 在集成流中创建第二个Data Mapper。
    1. 在集成流中Invoke SQL后单击
    2. 选择组件类型对话框单击逻辑步骤,然后单击Data Mapper
    3. Sources > 2-SQL ParameterSources > 3-SQL Result > Document RootTarget > 4-Response > body之间单击相同字段进行映射,然后单击确认字段映射
      字段对应关系如下。
      Sources目录 Sources字段 Target字段(body路径)
      Sources > 2-SQL Parameter completed completed
      id 无映射字段
      task task
      Sources > 3-SQL Result > Document Root id id
    4. 设置对话框选择scheme列表中选择任意类型,然后单击创建
  6. 集成设计页面右上角单击保存,防止创建的集成流丢失。
    Create new task集成流创建完成。第二个集成流
    注意 返回集成设计页面时,请及时在页面右上角单击保存,以免添加的步骤丢失。

创建Fetch task集成流

  1. 集成设计页面设置集成名,选择目标工作空间环境
  2. 在左侧导航栏选择集成元素 > 集成流 > Fetch task
  3. 在集成流中添加Database连接。
    1. 在集成流中提供的API后单击
    2. 选择组件类型对话框单击连接,然后单击之前新建的Database连接。
    3. 选择操作对话框中Invoke SQL右侧单击选择
    4. 步骤配置对话框设置SQL语句,勾选找不到记录时报错,然后单击确定设置SQL语句
      SQL语句设置为select * from task where id = :#id,即从task表选取特定id列。步骤配置完成后,Invoke SQL出现在集成流中。
  4. 在集成流中添加第一个Data Mapper。
    1. 在集成流中提供的API后单击
    2. 选择组件类型对话框单击逻辑步骤,然后单击Data Mapper
    3. Source > 1-Request > ParametersTarget > 2-SQL Parameter之间单击相同字段进行映射,然后单击确认字段映射
    4. 设置对话框选择scheme列表中选择任意类型,然后单击创建
  5. 在集成流中添加第二个Data Mapper。
    1. 在集成流中Invoke SQL后单击
    2. 选择组件类型对话框单击逻辑步骤,然后单击Data Mapper
    3. Sources > 3-SQL Result > Document RootTarget > 4-Response > body之间单击相同字段进行映射,然后单击确认字段映射
      字段对应关系如下所示。
      Sources目录 Sources字段 Target字段(body目录)
      Sources > 3-SQL Result > Document Root completed completed
      id id
      task task
    4. 设置对话框选择scheme列表中选择任意类型,然后单击创建
  6. 设置API返回主体携带错误信息。
    1. 在集成流中单击Provider API返回路径右上角的 图标,然后单击编辑
    2. 选择组件类型对话框勾选是否在主体中包含错误信息返回码保持默认值,然后单击确定
  7. 集成设计页面右上角单击保存,防止创建的集成流丢失。
    Fetch task集成流创建完成。第三个子flow集成流
    注意 返回集成设计页面时,请及时在页面右上角单击保存,以免添加的步骤丢失。

创建Update task集成流

  1. 集成设计页面设置集成名,选择目标工作空间环境
  2. 在左侧导航栏选择集成元素 > 集成流 > Update task
  3. 在集成流中添加Database连接。
    1. 在集成流中提供的API后单击
    2. 选择组件类型对话框单击连接,然后单击之前新建的Database连接。
    3. 选择操作对话框中Invoke SQL右侧单击选择
    4. 步骤配置对话框设置SQL语句,勾选找不到记录时报错,然后单击确定设置SQL语句
      SQL语句设置为update task set completed = :#completed where id = :#id,即当task表的id列为特定值时修改completed列的值。步骤配置完成后,Invoke SQL出现在集成流中。
  4. 在集成流中添加第一个Data Mapper。
    1. 在集成流中提供的API后单击
    2. 选择组件类型对话框单击逻辑步骤,然后单击Data Mapper
    3. Source > 1-Request > bodySource > 1-Request > ParametersTarget > 2-SQL Parameter之间单击相同字段进行映射,然后单击确认字段映射
      字段对应关系如下所示。
      Source目录 Source字段 Target字段(2-SQL Parameter目录)
      Source > 1-Request > body completed completed
      id 无映射字段
      task 无映射字段
      Source > 1-Request > Parameters id id
    4. 设置对话框选择scheme列表中选择任意类型,然后单击创建
  5. 在集成流中添加第二个Data Mapper。
    1. 在集成流中Invoke SQL后单击
    2. 选择组件类型对话框单击逻辑步骤,然后单击Data Mapper
    3. Sources > 2-SQL ParameterTarget > 4-Response > body之间进行字段映射,然后单击确认字段映射
      字段对应关系如所示。
      Sources目录 Sources字段 Target字段(body目录)
      Sources > 2-SQL Parameter completed completed
      id id
    4. 设置对话框选择scheme列表中选择任意类型,然后单击创建
  6. 设置API返回主体携带错误信息。
    1. 在集成流中单击Provider API返回路径右上角的 图标,然后单击编辑
    2. 选择组件类型对话框勾选是否在主体中包含错误信息返回码保持默认值,然后单击确定
  7. 集成设计页面右上角单击保存,防止创建的集成流丢失。
    Update task集成流创建完成。第四个子flow集成流
    注意 返回集成设计页面时,请及时在页面右上角单击保存,以免添加的步骤丢失。

创建Delete task集成流

  1. 集成设计页面设置集成名,选择目标工作空间环境
  2. 在左侧导航栏选择集成元素 > 集成流 > Delete task
  3. 在集成流中添加Database连接。
    1. 在集成流中提供的API后单击
    2. 选择组件类型对话框单击连接,然后单击之前新建的Database连接。
    3. 选择操作对话框中Invoke SQL右侧单击选择
    4. 步骤配置对话框设置SQL语句,勾选找不到记录时报错,然后单击确定设置SQL语句
      SQL语句设置为delete from task where id = :#id,即当task表的id列为特定值时删除该行。步骤配置完成后,Invoke SQL出现在集成流中。
  4. 在集成流中添加Data Mapper。
    1. 在集成流中提供的API后单击
    2. 选择组件类型对话框单击逻辑步骤,然后单击Data Mapper
    3. Source > 1-Request > parametersTarget > 2-SQL Parameter之间进行字段映射,然后单击确认字段映射
    4. 设置对话框选择scheme列表中选择任意类型,然后单击创建
  5. 设置API返回主体携带错误信息。
    1. 在集成流中单击Provider API返回路径右上角的 图标,然后单击编辑
    2. 选择组件类型对话框勾选是否在主体中包含错误信息返回码保持默认值,然后单击确定
  6. 集成设计页面右上角单击保存,防止创建的集成流丢失。
    Delete task集成流创建完成。第五个子flow集成流
    注意 返回集成设计页面时,请及时在页面右上角单击保存,以免添加的步骤丢失。

部署集成

  1. 登录应用集成控制台
  2. 在顶部菜单栏选择地域
  3. 在左侧导航栏选择集成 > 集成列表
  4. 集成列表页面的当前工作空间下拉列表中,选择目标工作空间。
  5. 集成列表页面选择目标集成,在该集成操作列下单击部署
  6. 部署集成对话框选择目标环境资源规格资源数量,然后单击确认

    控制台会自动跳转到部署管理页面,集成示例的状态部署中

  7. 部署管理页面该集成部署的操作列下单击绑定SLB
  8. 绑定SLB对话框选择SLB实例,然后单击确认
    绑定SLB
    绑定SLB实例完成后,在部署管理页面该集成部署记录的集成名称下出现SLB实例的服务地址

结果验证

  1. 验证List all tasks,查询API详细信息。
    1. 在Postman上选择GET,发送http://SLB服务地址/api请求。
      SLB服务地址可在应用集成控制台部署管理页面目标集成的部署记录集成名称下查看。
      请求发送后,在Postman的Response区域返回所有API的详细信息。
    2. 使用MySQL客户端连接Datebase服务器,在MySQL客户端输入select * from task查询task表格详细信息。
      在MySQL客户端界面展示task表格详细信息。
    3. 在应用集成控制台的集成列表页面查看目标集成的执行记录
      可查看List all tasks集成流的执行日志,其状态为SUCCESS
  2. 验证Create new task,新增一个API。
    说明 新增API的ID值不能和已有API的ID值重复,如果重复,无法新增API。
    1. 在Postman上发送新增API的请求。
      在Postman上选择POST,在Body页面输入新增API的JSON语句,然后发送http://SLB服务地址/api请求。
      SLB服务地址可在应用集成控制台部署管理页面目标集成的部署记录集成名称下查看。
      请求发送后,在Postman的Response区域返回新增API的详细信息。
    2. 使用MySQL客户端连接Datebase服务器,在MySQL客户端输入select * from task查询task表格详细信息。
      在MySQL客户端界面展示task表格详细信息,包含新增的API。
    3. 在应用集成控制台的集成列表页面查看目标集成的执行记录
      可查看Create new task集成流的执行日志,其状态为SUCCESS
  3. 验证Fetch task,查询新增的API详请。
    1. 在Postman上选择GET,发送http://SLB服务地址/api/新增API的ID值请求。
      SLB服务地址可在应用集成控制台部署管理页面目标集成的部署记录集成名称下查看。
      请求发送后,在Postman的Response区域返回新增API的详细信息。
    2. 使用MySQL客户端连接Datebase服务器,在MySQL客户端输入select * from task查询task表格详细信息。
      在MySQL客户端界面展示task表格详细信息,包含新增API的详细信息。
    3. 在应用集成控制台的集成列表页面查看目标集成的执行记录
      可查看Fetch tasks集成流的执行日志,其状态为SUCCESS
  4. 验证Update task,更新API的completed字段信息。
    说明 目前只支持更新API的completed字段信息。
    1. 在Postman上发送更新API的completed字段值的请求。
      在Postman上选择PUT,在Body页面输入更新APIcompleted字段值的JSON语句,然后发送http://SLB服务地址/api/需要更新API的ID值请求。
      SLB服务地址可在应用集成控制台部署管理页面目标集成的部署记录集成名称下查看。
      请求发送后,在Postman的Response区域返回更新API的详细信息,其completed值已发生变化。
    2. 使用MySQL客户端连接Datebase服务器,在MySQL客户端输入select * from task查询task表格详细信息。
      在MySQL客户端界面展示task表格详细信息,目标API的completed值已发生变化。
    3. 在应用集成控制台的集成列表页面查看目标集成的执行记录
      可查看Update tasks集成流的执行日志,其状态为SUCCESS
  5. 验证Delete task,删除API。
    1. 在Postman上选择DELETE,发送http://SLB服务地址/api/需要删除API的ID值请求。
      SLB服务地址可在应用集成控制台部署管理页面目标集成的部署记录集成名称下查看。
      请求发送后,在Postman的Response区域返回空白信息。
    2. 使用MySQL客户端连接Datebase服务器,在MySQL客户端输入select * from task查询task表格详情。
      在MySQL客户端界面展示task表格详细信息,目标API已被删除。
    3. 在应用集成控制台的集成列表页面查看目标集成的执行记录
      可查看Delete tasks集成流的执行日志,其状态为SUCCESS