示例说明

最近更新时间:2019-06-12 14:25:20

实现场景

注意:

  1. 必须使用两个 COS Bucket。如果使用同一个存储桶作为源和目标,上传到源存储桶的每个缩略图都会触发另一个对象>创建事件,该事件将再次调用函数,从而产生无限的循环。
  2. 请保证函数和 COS Bucket 位于同一个地域下。

本教程假设以下情况:

  • 您的用户将上传照片至某个特定的 COS Bucket。
  • 您要为用户上传的每个图像创建一个缩略图。
  • 创建完缩略图后保存至另一个 COS Bucket。

实现概要

下面是该函数的实现流程:

  • 创建函数与 COS Bucket 的事件源映射。
  • 用户将对象上传到 COS 中的源存储桶(对象创建事件)。
  • COS Bucket 检测到对象创建事件。
  • COS 调用函数并将事件数据作为参数传递给函数,由此将 cos:ObjectCreated:* 事件发布给函数。
  • SCF 平台接收到调用请求,执行函数。
  • 函数通过收到的事件数据获得了 Bucket 名称和文件名称,从该源 Bucket 中获取该文件,使用图形库创建缩略图,然后将其保存到目标 Bucket 上。

请注意,完成本教程后,您的账户中将具有以下资源:

  • 一个创建缩略图的 SCF 函数。
  • 两个 COS Bucket,分别是源 Bucket 用于上传原始图片,目标 Bucket 用于存储裁剪后的图片。