使用函数计算实现网站的文件处理

本文介绍如何通过函数计算实现文件管理网站的功能,例如自动解压文件、自动打包压缩、自动处理图片分辨率等。

应用场景

某图片网站数据管理主要提供图片标注服务,有以下需求:

  • 上传文件自动更新压缩包。

    用户特定图片更新并上传文件到OSS的某个目录后,需要自动压缩目录下的指定文件。压缩后以压缩包的形式分发给不同的工作组处理,工作组下载后,需要获取压缩包的MD5值,以验证下载的文件是否一致。

  • 上传压缩包自动解压。

    某些对外公开展示的图片处理以压缩包的形式上传到OSS后,需要在自动解压后,以图片的格式供前端页面调用,并需要获取图片的Meta信息(需求多样,用函数计算迅速满足要求)。

  • 自动爬取图片。

    某些细分的图片组里,需要从网站爬取一些素材图片,补充到素材库。

  • 自动打包文件夹。

    某些有大量类别的图片组,其每个类别下图片资源丰富,并不定时更新。当用户下载图片时,需要自动打包,并以压缩包的形式分发。

  • 对网页截图并存档,统一图片分辨率并加水印。

    • 对网页定期截图并存档。

    • 统一图片分辨率并加水印。

方案简介

方案架构如下:

image

方案流程如下:

  • 您执行一定的动作后,会触发对应的OSS、HTTP的触发器。

  • 函数计算发现触发器被触发,结合传入的参数,执行对应的函数,从而执行了对应的动作。

  • 整个过程中,所有日志都会写入日志服务SLS对应的Project中,方便调试和查询。

方案优势

  • 对事件和请求能实时动态伸缩,实现智能资源调度。

  • 毫秒级别的计量数据,按用户使用资源付费。

  • 虚拟机级别隔离运行,保证您的信息安全。

方案详情

具体步骤,请参见Serverless实现网站文件处理最佳实践