本文介绍从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对话框选择scheme列表中选择任意类型,然后单击创建
    创建完成后,集成流即包含了从SFTP服务器下载文件的触发器。SFTP-触发器结果
  3. 在集成流中添加阿里函数计算连接,调用函数。
    1. 在集成流中Download后单击
    2. 选择组件类型对话框单击连接,然后单击之前新建的阿里函数计算连接。
    3. 选择操作对话框调用函数的右侧,单击选择
      选择operation-调用函数
    4. 步骤配置对话框设置调用函数的参数,然后单击确定
      步骤配置-调用函数

      本场景服务设置为guide-hello_world函数设置为guide-nodejs10服务别名保持默认不修改。

    5. 设置inputDataShape对话框选择scheme列表中选择任意类型,然后单击创建
    6. 设置outputDataShape对话框选择scheme列表中选择任意类型,然后单击创建
    创建完成后,集成流中即包含了调用函数的连接。SFTP下载文件-调用函数
  4. 在集成流中添加Log连接,实现函数计算输出结果打印日志的功能。
    1. 在集成流中调用函数后单击
    2. 选择组件类型对话框单击逻辑步骤,然后单击Log
    3. 设置Log打印内容参数,然后单击确定
      本场景仅打开Message Body开关,仅打印函数计算结果的消息主体。Log-打印内容
  5. 集成设计页面右上角单击保存,保存集成流。
    实现函数计算并打印结果日志的集成流创建完成。SFTP文件下载-调用函数-日志打印
    注意 返回集成设计页面时,请及时在页面右上角单击保存,以免添加的步骤丢失。

部署集成

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

结果验证

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

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

日志打印