You need to enable JavaScript to run this app.
导航

使用函数服务实现 TOS 上传文件实时自动解压

最近更新时间2023.07.27 16:22:32

首次发布时间2023.07.27 16:22:32

本文为您介绍如何通过函数服务将 TOS 上传的 Zip 文件实时自动解压。

场景介绍

实际业务场景中,经常需要上传文件至 TOS 进行存储和使用。为了提高效率,业务方通常会将所有文件打包成 Zip 包进行上传。然而,实际使用时还是需要手动解压对应的压缩包,十分繁琐不便。通过函数服务,结合 TOS 触发器,可以帮助您实现 TOS 上传后实时自动解压文件,提高工作效率。

前提条件

使用限制

建议避免使用 Mac 工具压缩文件。如必须使用 Mac 工具压缩文件,文件名称请勿使用中文。否则将造成解压后的文件名称显示为乱码,可能无法正常使用。

操作步骤

步骤一:使用代码模板创建函数

使用 vefaas-python38-tos-auto-unzip 代码模板创建函数,并配置代码信息。

  1. 登录 函数服务控制台

  2. 在顶部导航栏,选择目标地域。

  3. 在函数列表页面,单击 创建函数

  4. 在创建函数页面,选择 vefaas-python38-tos-auto-unzip 模板,单击 下一步:函数配置。

  5. 按要求配置函数的信息。

    • 基础信息
      配置函数名称和备注信息。

    • 函数代码
      代码模板已提供自动解压业务代码,您只需配置以下信息。

      配置项说明
      ak输入前提条件中准备的 AK。
      sk输入前提条件中准备的 SK。
      endpoint输入内网的访问域名,使用 Endpoint(地域节点)。

      region

      地域。
      TOS Bucket 必须与函数部署在同一地域。

      destinationTOS 上传的 Zip 文件解压后存放的路径。
    • 高级配置
      本示例保持默认配置。

  6. 单击 确定,完成函数创建。

步骤二:发布函数

将函数的当前代码和配置发布至线上。

  1. 在函数详情页面,单击右上角的 发布

  2. 函数版本 使用 Latest,按需填写 版本描述实例数上限 保持默认。

  3. 单击 确定, 函数进入发布中。函数发布成功后如下图所示。

步骤三:配置 TOS 触发器

为当前函数配置 TOS 触发器,设置触发函数的规则。

  1. 切换至触发器页签,单击 创建触发器

  2. 按要求配置触发器信息。更多参数介绍请参见 创建 TOS 触发器

    • 触发器类型:选择 TOS 触发器。
    • 触发器名称:根据界面提示规则自定义触发器名称。
    • TOS Bucket:选择前提条件中准备的 TOS Bucket。
    • 触发事件:本示例选择 tos**:ObjectCreated:Put**,通过简单上传对象后触发。
    • 过滤条件:通过设置过滤条件,可精确匹配需要监听的事件所包含的对象范围,有效降低触发频率,减少成本。本示例设置前缀 为 origin,即向/origin路径下上传 Zip 文件将触发自动解压上传任务。
  3. 单击 确定,完成 TOS 触发器创建。

结果验证

  1. 在当前函数的触发器页签下,选择刚才创建的 TOS 触发器,单击 Bucket 名称,跳转至对象存储控制台的对应 Bucket。

  2. 进入 origin/目录,单击 上传文件,从本地提交一个 Zip 文件。

  3. 进入 uncompressed/目录,可看到上传的文件成功被解压至uncompressed/origin目录下。