本文介绍从SFTP服务器获取阿里函数计算的入参文件。完成从SFTP服务器获取文件,作为阿里函数计算的入参文件,触发集成运行并通过Log逻辑步骤输出函数计算结果。
背景信息
通过集成流配置可以从SFTP服务器下载文件,将文件作为函数计算的入参,实现函数计算输出。
本文创建的集成将实现以下功能:
- 从SFTP服务器的incoming目录下载目标文件test.json。
- 调用函数。
- 打印函数计算输出结果。
创建连接
本示例中会用到SFTP和阿里函数计算,所以需要借助连接器创建对应的连接。
创建空白集成
- 登录应用集成控制台。
- 在顶部菜单栏,选择地域。
- 在左侧导航栏,选择。
- 在集成列表页面,选择目标工作空间,然后单击新建集成。
- 在新建集成面板,选择创建方式为空白流,选择目标环境,输入集成名称,然后单击创建。
- 集成创建后,进入集成设计页面,选择接下来的操作。
- 在右上角单击保存,创建一个空集成。
- 在页面左上角单击图标,在列表中单击Flow,创建集成流。
创建集成流
- 在集成设计页面左上角,单击图标,在列表中单击Flow,创建集成流。
也可以在页面中,选择,创建集成流。
- 选择触发器,实现从SFTP服务器下载目标文件。
- 在创建新集成流对话框,输入名称,选择SFTP作为触发器,然后单击创建。
- 在选择操作对话框,单击Download右侧的选择。
- 在步骤配置对话框,设置SFTP下载参数,然后单击确定。
从SFTP服务器下载文件的参数说明如下:
参数 |
描述 |
是否必须 |
下一次轮询之前的毫秒 |
轮询时间间隔。 |
否 |
是否下载后删除文件 |
是否下载后从服务器删除文件。 |
否 |
文件名正则匹配 |
文件名的匹配规则,需满足正则表达式。 |
否 |
文件名表达式 |
需要下载的文件名称,本场景设置为test.json。
说明 建议限制文件名。如果不配置,则会递归到全部目录,有可能导致集成执行失败。
|
否 |
是否递归扫描目录 |
是否扫描子目录的文件。 |
否 |
是否验证幂等性(避免重复消费) |
验证文件是否被消费过,消费过的文件不会再次被消费。 |
否 |
轮询开始前的毫秒数 |
开始轮询之前等待的时间。 |
否 |
SFTP目录 |
要下载文件的SFTP目录名,本场景设置为incoming。
|
是 |
- 在设置inputDataShape对话框,在选择schema列表中选择任意类型,然后单击创建。
创建完成后,集成流即包含了从SFTP服务器下载文件的触发器。
- 在集成流中添加阿里函数计算连接,调用函数。
- 在集成流中Download后单击图标。
- 在选择组件类型对话框,单击连接,然后单击阿里函数计算连接。
- 在选择操作对话框,单击调用函数的右侧选择。
- 在步骤配置对话框,设置调用函数的参数,然后单击确定。
请根据实际情况设置
服务和
函数。本场景
服务设置为
guide-hello_world,
函数设置为
guide-nodejs10,
服务别名保持默认不修改。
- 在设置inputDataShape对话框,在选择schema列表中选择任意类型,然后单击创建。
- 在设置outputDataShape对话框,在选择schema列表中选择任意类型,然后单击创建。
创建完成后,集成流中即包含了调用函数的连接。
- 在集成流中添加日志记录器连接,实现函数计算输出结果打印日志的功能。
- 在集成流中调用函数后单击图标。
- 在选择组件类型对话框,单击逻辑步骤,然后单击log(日志记录器)。
- 设置打印内容参数,然后单击确定。
本场景仅打开
消息内容开关,仅打印函数计算结果的消息主体。
- 在集成设计页面右上角,单击保存,保存集成流。
实现函数计算并打印结果日志的集成流创建完成。
注意 返回集成设计页面时,请及时在页面右上角单击保存,以免添加的步骤丢失。
部署集成
集成创建并保存后,需要对集成进行部署。具体操作,请参见部署集成示例。
结果验证
在应用集成控制台的集成列表页面,查看目标集成的执行记录,其执行日志的状态是否为SUCCESS。
本场景函数计算结果的日志打印如下: