本文通过一个模拟场景介绍Template模板器的简单使用。场景为获取工厂订单信息,借助Template模板器将需要的订单信息定制化处理,然后发送到目标邮箱。

前提条件

  • 已在阿里云容器服务Kubernetes版上创建了Database服务。具体操作,请参见使用镜像快速创建无状态Deployment应用
  • 已在数据库中创建记录工厂订单信息的order_todo表,并在order_todo表存入订单信息。

背景信息

记录工厂订单信息的order_todo表内容示例如下。其中ID表示订单ID,type表示订单类型(实际可能是商家名称、商品名称等)。
ID type
1 A
2 B

通过创建集成实现获取工厂订单中的A类型订单数量,借助Template逻辑步骤将A类型订单数量进行定制化处理,然后发送给目标邮箱。

本文创建的集成将实现以下功能:
  1. 获取order_todo表中A类型任务数量。
  2. 通过Template逻辑步骤实现将获取内容定制化处理。
  3. 发送到目标邮箱。

视频教程

创建连接

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

创建Database连接和Email连接。
创建连接的具体操作步骤,请参见创建连接

创建空白集成

  1. 登录应用集成控制台
  2. 在顶部菜单栏,选择地域。
  3. 在左侧导航栏,选择集成 > 集成列表
  4. 集成列表页面,选择目标命名空间,然后单击新建集成
  5. 新建集成面板,选择创建方式为空白流,选择目标环境,输入集成名称,然后单击创建
  6. 集成创建后,进入集成设计页面,在页面右上角单击保存

创建集成流

  1. 集成设计页面左上角,单击图标,在列表中单击Flow,创建集成流。
    也可以在页面中,选择点击创建 > Flow,创建集成流。
  2. 选择触发器,实现从order_todo表中获取A类型订单数量。
    1. 创建新集成流对话框,输入集成流名称,选择Database连接作为触发器,然后单击创建
      触发器-Database
    2. 选择操作对话框Periodic SQL invocation右侧,单击选择
      选择操作-定期调用SQL获取数据
    3. 步骤配置对话框,设置SQL语句周期,然后单击确定
      步骤配置-设置SQL语句本场景中SQL语句设置为select count(*) from order_todo where type = 'A',即从order_todo表获取A类型订单数量。周期保持为默认值60000,单位ms。
    4. 设置outputDataShape对话框,在选择schema列表中选择任意类型,然后单击创建
    创建完成后,集成流即包含了从Database获取数据的触发器。触发器-定期调用SQL获取数据
  3. 在集成流中添加Email连接,实现发送邮件到目标邮箱。
    1. 在集成流中Periodic SQL invocation右侧单击图标。
    2. 选择组件类型对话框单击连接,然后单击Email连接。
    3. 选择操作对话框,单击Send Email右侧的选择
      选择操作-Send Email
    4. 步骤配置对话框,设置发送邮件的相关参数,然后单击确定
      步骤配置-发送邮件到指定邮箱
      参数 描述
      发邮件到 发送电子邮件到的电子邮件地址,支持设置多个地址,使用半角逗号(,)隔开。
      邮件发送方 发件人的电子邮件地址,必须是有效的电子邮件地址,以避免发件人验证失败。
      邮件主题 插入到电子邮件主题行的文本。
      说明 更多发送邮件的参数说明,请参见Email连接作为集成的结束连接或中间连接
  4. 在集成流中添加Template模板器,将A类型订单数量定制化处理。
    1. 鼠标悬停在集成流中Periodic SQL invocation右侧的上,然后单击图标。
    2. 选择组件类型对话框,单击逻辑步骤,然后单击template(模板器)
    3. Freemarker页面,输入定制化信息,然后单击确定
      Freemarker-定制化消息
      说明Freemarker页面自定义设置消息内容,携带的变量值为上一步骤的输出(即A类型订单数量),变量格式为${变量名},变量名必须为大小写字母。
  5. 在集成流中添加第一个数据映射器,将获取到的A类型订单数量赋值给Template模板器的变量。
    1. 鼠标悬停在集成流中Periodic SQL invocation右侧的上,然后单击图标。
    2. 选择组件类型对话框,单击逻辑步骤,然后单击data-mapper(数据映射器)
    3. Source > 1-SQL Result > Document RootTarget > 2 - Template JSON Schema之间单击字段进行映射,然后单击确认
      将A类订单数量值赋值给Template变量。字段映射
    4. 设置对话框,在选择schema列表中选择任意类型,然后单击创建
  6. 在集成流中添加第二个数据映射器,将Template定制化处理的内容赋值给发送的邮件内容。
    1. 鼠标悬停在集成流中模板器右侧的上,然后单击图标。
    2. 选择组件类型对话框,单击逻辑步骤,然后单击data-mapper(数据映射器)
    3. Source > 3 - Template JSON SchemaTarget > 4 - EmailMessage之间单击字段进行映射,然后单击确认
      将Template定制化处理的内容赋值给发送的邮件内容。字段映射
    4. 设置对话框,在选择schema列表中选择任意类型,然后单击创建
  7. 集成设计页面右上角,单击保存,保存集成流。
    完整的集成流

部署集成

集成创建并保存后,需要对集成进行部署。具体操作,请参见部署集成示例

结果验证

  1. 查看集成执行记录。
    1. 登录应用集成控制台
    2. 在顶部菜单栏,选择地域。
    3. 在左侧导航栏,选择集成 > 执行管理
    4. 执行管理页面,设置工作空间/集成部署环境/日期运行时长,筛选目标集群部署的执行记录。
      集成的执行记录状态为SUCCESS即代表集成正常运行。
  2. 查看邮箱收件记录。
    1. 登录邮箱,查看收件箱内是否存在主题为A类订单数量的新邮件。
    2. 单击A类订单数量邮件,查看邮件内容。
      可在邮件内容里查看到定制化处理的内容,内容中包含A类订单数量。邮件内容
      说明 在数据库中的order_todo表新增或删除A类型订单个数,一段延迟时间(默认60秒)后将发送新数量的邮件。