本文介绍从SFTP服务器获取阿里函数计算的入参文件。完成从SFTP服务器获取文件,作为阿里函数计算的入参文件,触发集成运行并通过Log逻辑步骤输出函数计算结果。

前提条件

  • 在阿里云容器服务Kubernetes版上创建了SFTP服务。具体操作步骤,请参见使用镜像快速创建无状态Deployment应用
  • 已经将函数计算的入参文件(入参示例文件)保存在SFTP服务器的incoming目录下。本文提供的入参示列文件为压缩格式,需要解压获取test.json文件。

背景信息

通过集成流配置可以从SFTP服务器下载文件,将文件作为函数计算的入参,实现函数计算输出。

本文创建的集成将实现以下功能:

  1. 从SFTP服务器的incoming目录下载目标文件test.json
  2. 调用函数。
  3. 打印函数计算输出结果。

创建连接

本示例中会用到SFTP和阿里函数计算,所以需要借助连接器创建对应的连接。

创建空白集成

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

创建集成流

  1. 集成设计页面左上角,单击图标,在列表中单击Flow,创建集成流。
    也可以在页面中,选择点击创建 > Flow,创建集成流。
  2. 选择触发器,实现从SFTP服务器下载目标文件。
    1. 创建新集成流对话框,输入名称,选择SFTP作为触发器,然后单击创建
      创建新集成流-SFTP触发器
    2. 选择操作对话框,单击Download右侧的选择
      选择operation
    3. 步骤配置对话框,设置SFTP下载参数,然后单击确定
      步骤配置-从SFTP下载文件
      从SFTP服务器下载文件的参数说明如下:
      参数 描述 是否必须
      下一次轮询之前的毫秒 轮询时间间隔。
      是否下载后删除文件 是否下载后从服务器删除文件。
      文件名正则匹配 文件名的匹配规则,需满足正则表达式。
      文件名表达式 需要下载的文件名称,本场景设置为test.json
      说明 建议限制文件名。如果不配置,则会递归到全部目录,有可能导致集成执行失败。
      是否递归扫描目录 是否扫描子目录的文件。
      是否验证幂等性(避免重复消费) 验证文件是否被消费过,消费过的文件不会再次被消费。
      轮询开始前的毫秒数 开始轮询之前等待的时间。
      SFTP目录 要下载文件的SFTP目录名,本场景设置为incoming
    4. 设置inputDataShape对话框,在选择schema列表中选择任意类型,然后单击创建
    创建完成后,集成流即包含了从SFTP服务器下载文件的触发器。SFTP-触发器结果
  3. 在集成流中添加阿里函数计算连接,调用函数。
    1. 在集成流中Download后单击图标。
    2. 选择组件类型对话框,单击连接,然后单击阿里函数计算连接。
    3. 选择操作对话框,单击调用函数的右侧选择
      选择operation-调用函数
    4. 步骤配置对话框,设置调用函数的参数,然后单击确定
      请根据实际情况设置服务函数。本场景服务设置为guide-hello_world函数设置为guide-nodejs10服务别名保持默认不修改。步骤配置-调用函数
    5. 设置inputDataShape对话框,在选择schema列表中选择任意类型,然后单击创建
    6. 设置outputDataShape对话框,在选择schema列表中选择任意类型,然后单击创建
    创建完成后,集成流中即包含了调用函数的连接。SFTP下载文件-调用函数
  4. 在集成流中添加日志记录器连接,实现函数计算输出结果打印日志的功能。
    1. 在集成流中调用函数后单击图标。
    2. 选择组件类型对话框,单击逻辑步骤,然后单击log(日志记录器)
    3. 设置打印内容参数,然后单击确定
      本场景仅打开消息内容开关,仅打印函数计算结果的消息主体。Log-打印内容
  5. 集成设计页面右上角,单击保存,保存集成流。
    实现函数计算并打印结果日志的集成流创建完成。SFTP文件下载-调用函数-日志打印
    注意 返回集成设计页面时,请及时在页面右上角单击保存,以免添加的步骤丢失。

部署集成

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

结果验证

在应用集成控制台的集成列表页面,查看目标集成的执行记录,其执行日志的状态是否为SUCCESS

本场景函数计算结果的日志打印如下:

日志打印