示例说明

最近更新时间:2019-06-12 09:58:08

本教程假设以下情况:

  • 您将不定时上传一些文本文件(如日志等)至某个特定的 COS Bucket。
  • 您要对这些文本文件进行字数统计。

实现概要

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

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

注意:

  • 本示例会使用三个 COS Bucket。如果使用同一个存储桶作为源和目标,上传到源存储桶的每个文件都会触发另一个对象创建事件,该事件将再次调用函数,从而产生无限的循环。
  • 请保证云函数和 COS Bucket 位于同一个地域下。

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

  • 两个 SCF 函数:Mapper 和 Reducer。
  • 三个 COS Bucket:srcmr、middlestagebucket 和 destmr。
  • Mapper 函数将会绑定 srcmr 触发,Reducer 函数将会绑定 middlestagebucket 触发,destmr 将会用来接收最终的统计结果。