本文介绍通过应用集成实现从数据库源表到目标表的数据集成转换。完成从数据库源表定期读取数据,然后写入目标表,过程中如果两者数据结构存在差异可以加入数据映射逻辑步骤。

前提条件

  • 在阿里云容器服务Kubernetes版上创建了Database服务,详细操作步骤请参见使用镜像快速创建无状态Deployment应用
  • 已经在Database创建contact表和todo表,并在contact表写入数据。本场景从contact表读取数据,然后存入todo表。
  • 本地已经安装MySQL客户端。

背景信息

通过集成流配置可以实现从源数据库表中读取数据,并将数据写入到目标数据库表中。

通过创建的集成,将完成以下动作:
  1. 从数据库的contact表中定期读取数据。
  2. 将读取到的数据写入到数据库的todo表中。

创建连接

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

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

创建空白集成

  1. 登录应用集成控制台
  2. 在顶部菜单栏选择地域
  3. 在左侧导航栏选择集成 > 集成列表
  4. 集成列表页面单击新建集成
  5. 新建集成面板中创建方式选择为空白流,选择目标环境,输入名称,然后单击创建
  6. 集成创建后,返回集成设计页面,选择接下来的操作。
    • 在页面左上角选择工作空间,然后在右上角单击保存,创建一个空集成。
    • 在页面左上角单击 ,在列表中单击Flow,创建集成流。详情请参见创建集成流

创建集成流

  1. 集成设计页面设置集成名,选择目标工作空间环境
  2. 集成设计页面左上角单击 ,在列表中单击Flow,创建集成流。
    也可以在页面中单击点击创建,在列表中单击Flow,创建集成流。
  3. 选择触发器,实现从Database的contact表中定期读取数据。
    1. 创建新集成流对话框输入名称,并选择之前创建的Database作为触发器,然后单击创建选择触发器-Database
    2. 选择操作对话框Periodic SQL invocation右侧,单击选择选择operation
    3. 步骤配置对话框设置SQL语句周期,然后单击确定步骤配置-设置SQL语句
      本场景中SQL语句设置为select * from contact周期保持为默认值6000,单位ms。
    4. 设置outputDataShape对话框选择scheme列表中选择任意类型,然后单击创建
    创建完成后,集成流即包含了从Database的contact表定期读取数据的触发器。从contact定期读取数据
  4. 在集成流中添加Database连接,实现数据写入到Database的todo表。
    1. 在集成流中Periodic SQL invocation后单击
    2. 选择组件类型对话框单击连接,然后单击之前新建的Database连接。
    3. 选择操作对话框Invoke SQL右侧,单击选择选择operation-Invoke SQL
    4. 步骤配置对话框设置SQL语句,然后单击确定步骤配置-设置SQL语句
      本场景中SQL语句设置为insert into todo (task, completed) values (:#task, 0)
    创建完成后,集成流中即包含了将数据写入到Database的todo表的连接。读取数据-写入数据
  5. 在集成流中添加Data Mapper,完成字段映射。
    1. 在集成流中Periodic SQL invocation后单击
    2. 选择组件类型对话框单击逻辑步骤,然后单击Data Mapper
    3. Source > 1-SQL Result > Document RootTarget > 2-SQL Parameter之间单击字段进行映射,然后单击确认
      本场景以源表first_name字段和目标表task字段进行映射为例。字段映射
    4. 设置对话框选择scheme列表中选择任意类型,然后单击创建
  6. 集成设计页面右上角单击保存,保存集成流。
    数据库表数据读取和写入处理的集成流创建完成。读取数据-字段映射-写入数据
    注意 返回集成设计页面时,请及时在页面右上角单击保存,以免添加的步骤丢失。

部署集成

集成创建并保存后,需要对集成进行部署。详情请参见部署集成示例

结果验证

  • todo表数据对比。
    • 使用MySQL客户端连接Datebase服务器,在MySQL客户端输入select * from todo查询todo表是否含有从contact表读取的数据。
    • 您也可以在contact表新增一组数据,然后在todo表查看task字段的值是否是新增的first_name字段的值。
  • 验证集成部署是否正常运行。

    查看目标集成的执行记录,其执行日志状态是否为SUCCESS