全部产品
云市场

工作流如何触发执行

更新时间:2017-07-13 11:42:53

1. 问题场景

当工作流处于执行状态时会监听工作流输入路径,监控到文件新增会自动触发工作流执行,执行对应的转码任务,那么需要什么条件可以触发呢?下面详细介绍触发规则和触发条件。

2. 解决方案

2.1 后缀名要求

视频点播工作流会对特定的视频或者音频文件后缀自动触发工作流,包括以下后缀名:

  • 视频:3gp, asf, avi, dat, dv, flv, f4v, gif, m2t, m3u8, m4v, mj2, mjpeg, mkv, mov, mp4, mpe, mpg, mpeg, mts, ogg, qt, rm, rmvb, swf, vob, wmv, webm。

  • 音频:aac, ac3, acm, amr, ape, caf, flac, m4a, mp3, ra, wav, wma, aiff。

2.2 路径匹配规则

上述后缀文件所在目录只需要是该目录或者其子目录下的文件均可以匹配生效。例如:工作流配置输入路径test/,则test/下的文件和test/test1/下的文件均可以触发工作流。

2.3 触发方法

OSS有很多的对Object的操作方法,其中有多种修改和上传文件的方法,其中putObject、multipartUpload、postObject、copyObject均是会触发工作流执行实例;但是appendObject、putObjectACL是不会触发工作流执行实例的。

3. 注意事项

  • ts文件是不会触发转码任务的,只有ts对应的索引m3u8文件才能触发工作流的转码任务。

  • 调用copyobject接口拷贝别的路径下的资源到工作流的输入路径中,对应的工作流转码任务可以正常触发,但是调用copyobject接口,源和目标object名称一致,仅修改输入路径下的资源的head头信息,对应的工作流是不会被触发的.

  • MultipartUpload只有在执行CompleteMultipartUpload的时候才会触发工作流执行实例,之前的InitiateMultipartUpload和UploadPart均不会触发工作流执行。

  • 请不要配置一个工作流的输入路径为另外一个工作流的输入路径的前缀,否则会一个增量文件触发两次工作流执行实例。例如:两个工作流的输入路径分别配置test和test1,则当输入文件上传到test1文件夹下同样满足test前缀,因此会触发两次工作流执行实例。