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

应用场景

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

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

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

  • 上传压缩包自动解压。

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

  • 自动爬取图片。

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

  • 自动打包文件夹。

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

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

方案简介

方案架构图如下。

架构简介

方案实施如下:

  • 您执行一定的动作后,会触发对应的OSS、HTTP的触发器。
  • 函数计算发现触发器已经被触发,结合传入的参数,执行对应的函数,从而执行了对应的动作。
  • 整个过程中,所有日志都会写入日志服务SLS对应的Project中,方便调试和查询。

方案优势

  • 对事件和请求能实时动态伸缩,实现智能资源调度。
  • 毫秒级别的计量数据,按用户使用资源付费。
  • 虚拟机级别隔离运行,保证您的信息安全。

方案详情

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