触发器

使用触发器可以对存储空间(Bucket)中的增量文件进行批量处理。例如,您可以将新增的.docx文件转换成.pdf格式,或将.mov文件转码为.mp4等。与批处理不同,触发器只会对创建触发器之后OSS内新增的文件进行处理,而不会处理存量文件。

说明
  • 新版数据处理功能API、SDK支持在IMM服务接入点的地域进行使用。

  • 触发器是后台执行的异步任务。由于图片处理所需的时间因具体样式的不同而有所差异,因此在上传完成后,无法立即进行访问。

  • 触发器创建成功后会对每个新增文件生成对应的任务进行数据处理。执行任务会产生相应的费用。更多信息,请参见计费项

注意事项

  • 触发器会为满足条件的文件生成数据处理任务,请用少量文件进行测试。

  • 暂停触发器将立即停止生成新的数据处理任务,但已提交的任务会继续运行。

  • 输出路径应避免以输入路径为前缀或相同,否则会导致循环触发和源文件被覆盖。

  • 输出路径不能以/结尾,请填写包含扩展名的完整输出文件路径,文件名支持使用变量。关于变量的更多信息,请参见变量

  • 文件名需包含至少一个变量,否则多个输出文件将互相覆盖。

  • 使用{key}、{barename}、{basename}变量作为输出路径时,请确认输出文件和输入文件路径不同,否则将导致源文件被覆盖以及循环触发。

  • 触发器生成的文件不能再次作为输入。

  • 触发器仅支持标准存储类型(Standard)文件。

创建触发器

  1. 登录OSS管理控制台

  2. 在左侧导航栏,单击Bucket列表,选择目标Bucket。

  3. 在左侧导航栏,选择数据处理

  4. 选择文档处理媒体处理或其他数据处理能力(以文档处理为例)。

  5. 单击触发器页签,然后单击创建触发器

  6. 创建触发器面板进行输入配置输出配置权限配置通知配置

    image

    参数

    说明

    输入存储桶

    当前需要创建触发器的文件所在的Bucket。

    路径前缀

    选择文件的路径前缀,指定进行数据处理的文件。

    过滤规则

    指定路径前缀和过滤规则对要处理的文件进行过滤。

    • 全部:对路径前缀指定的目录中所有文件进行处理。

    • 文件前缀:对路径前缀指定的目录中文件名匹配到特定前缀的文件进行数据处理,多个前缀以半角逗号(,)分隔。

    • 文件后缀:对路径前缀指定的目录中文件名匹配到特定后缀的文件进行数据处理,多个前缀以半角逗号(,)分隔。

    样式

    选择文件的处理样式。如果没有可以选择的样式,可单击下拉列表中的添加样式,添加新的样式。

    输出路径

    选择处理后文件的存储路径。

    不支持以正斜线(/)结尾的路径。建议您使用变量,否则多个任务的输出结果会相互覆盖。具体操作,请参见变量

    提交任务失败立即中断

    选择提交后的任务失败是否立即中断。

    • 中断:提交子任务时发生错误失败,触发器立即失败停止。

    • 忽略:提交子任务时发生错误失败,触发器继续保持运行。

    服务角色

    授权给IMM服务以访问其他云资源(例如OSS)的权限,建议使用服务角色AliyunIMMBatchTriggerRole。没有服务角色时,您可以在云资源访问授权页面创建角色。

    消息队列

    您可以配置消息队列,以在数据处理完成时获取到数据处理任务的结果。任务结束时支持以消息通知的方式将处理结果发送到轻量消息队列。具体操作,请参见快速入门概述

  7. 单击确定

查询触发器

  1. 登录OSS管理控制台

  2. 在左侧导航栏,单击Bucket列表,然后单击目标Bucket。

  3. 在左侧导航栏,选择数据处理然后选择所需的处理类型(如文档处理媒体处理等)。

  4. 选择触发器页签,查看触发器列表。

    image

    触发器状态说明如下表所示。

    状态

    说明

    就绪

    任务就绪,刚创建的任务处于就绪状态。

    运行中

    正在执行,正常执行的任务状态。

    成功

    任务执行完成。

    暂停

    任务暂停,不再触发新的任务,已触发但未完成的任务将继续执行。

    失败

    任务失败,任务执行出错,且无法自动恢复。

  5. 触发器ID搜索框输入触发器ID,单击搜索按钮可以搜索指定的触发器。

  6. 单击操作列的详情可以查看触发器详细信息。

  7. 单击触发器ID前的展开按钮,可以查看触发器的所有任务信息,您可以根据文件路径和状态来搜索任务。