Job(任务)
更新时间:2021-05-27
Job(任务)是音视频转码中最基本的执行单元,每个任务将一个原始的音视频资源转码成目标规格的音视频资源。因此,任务和转码的目标是一一对应的,也就是说如果用户需要将一个原始多媒体文件转换成三种目标规格,比如从AVI格式转码成FLV/MP4/HLS格式,那么用户将会需要创建三个任务。
任务接口的各参数含义和取值方法参考Job Transcoding API。
创建Job
用户在创建任务时,需要为任务指定所属的Pipeline、所需应用的Preset以及原始音视频资源的BOS Key以及目标音视频资源BOS Key。
如下代码创建一个Job, 并获取新创建的jobID:
pipeline_name = "your_pipeline"
source = {'sourceKey': 'your_source_key'}
target = {'targetKey': 'your_target_key', 'presetName': 'your_preset'}
response = client.create_job(pipeline_name, source, target)
print response
对Job进行条件筛选
创建任务后,您可以通过下述四个参数对缩略图任务和转码任务进行条件筛选,参数之间可相互配合:
- pipelineName: 队列名称
- job_status: 转码状态
- begin: createTime(创建时间)上限,用于筛选创建时间等于或者晚于begin的Job
- end: createTime(创建时间)下限,用于筛选创建时间等于或者早于end的Job
下述示例代码用于筛选指定队列下的所有Job:
pipeline_name = "your_pipeline"
response = client.list_jobs(pipeline_name)
for job in response.jobs:
print job
下述示例代码用于筛选指定队列下状态为“RUNNING”的所有Job:
pipeline_name = "your_pipeline"
response = client.list_jobs(pipeline_name, job_status='RUNNING')
for job in response.jobs:
print job
下述示例代码用于筛选指定队列下创建于2016年3月31日14:30:00之后的所有Job:
pipeline_name = "your_pipeline"
response = client.list_jobs(pipeline_name, begin='2016-03-31T14:30:00Z')
for job in response.jobs:
print job
下述示例代码用于筛选指定队列下创建于2016年3月31日14:30:00-15:00:00之间的所有Job:
pipeline_name = "your_pipeline"
response = client.list_jobs(pipeline_name, begin='2016-03-31T14:30:00Z', end='2016-03-31T15:00:00Z')
for job in response.jobs:
print job
查询指定的Job信息
用户可以通过如下代码通过jobId读取某个Job:
job_id = "your_job"
response = client.get_job(job_id)
print response