简介
本文档提供关于工作流接口的 API 概览以及 SDK 示例代码。
说明:
创建工作流
接口文档及示例函数名
API 文档 | 示例函数名 |
ci_create_workflow_image_inspect |
示例代码
def ci_create_workflow_image_inspect():# 创建异常图片检测工作流# 工作流配置详情body = {# 工作流节点 固定值传入即可'MediaWorkflow': {# 创建的工作流名称,可自定义输入名称# 支持中文、英文、数字、—和_,长度限制128字符# 必传参数'Name': 'image-inspect',# 工作流状态,表示创建时是否开启COS上传对象事件通知# 支持 Active / Paused# 非必选,默认Paused 不开启'State': 'Active',# 工作流拓扑结构# 必传参数'Topology': {# 工作流节点依赖关系# 必传参数'Dependencies': {# Start 工作流开始节点,用于存储工作流回调,前缀,后缀等配置信息,只有一个开始节点# End 工作流结束节点# ImageInspectNode 异常图片检测节点信息# 此示例表示 Start -> ImageInspectNode -> End 的依赖关系'Start': 'ImageInspectNode','ImageInspectNode': 'End',},# 工作流各节点的详细配置信息# 必传参数'Nodes': {# 工作流开始节点配置信息'Start': {# 节点类型,开始节点固定为 Start# 必传参数'Type': 'Start',# 工作流的输入信息# 必传参数'Input': {# Object 前缀,COS上传对象的前缀,只有当前缀匹配时,才会触发该工作流# 如该示例,会触发以test为前缀的对象# 必传参数'ObjectPrefix': 'test',# 工作流自定义回调配置信息,当配置了该项后,当工作流执行完成或工作流中的子节点中的任务执行完成,会发送回调给指定Url或tdmq# 非必传配置'NotifyConfig': {# 回调类型,支持Url TDMQ两种类型'Type': 'Url',# 回调地址,当回调类型为Url时有效'Url': 'http://www.callback.com',# 回调事件 支持多种事件,以逗号分割'Event': 'WorkflowFinish,TaskFinish',# 回调信息格式,支持XML JSON两种格式,非必传,默认为XML'ResultFormat': '',# TDMQ 所属园区,当回调类型为TDMQ时有效,支持园区详见https://cloud.tencent.com/document/product/406/12667'MqRegion': '',# TDMQ 使用模式,当回调类型为TDMQ时有效# Topic:主题订阅# Queue:队列服务'MqMode': '',# TDMQ 主题名称,当回调类型为TDMQ时有效'MqName': '',},# 文件后缀过滤器,当需要只处理部分后缀文件时,可配置此项# 非必传配置'ExtFilter': {# 是否开始后缀过滤,On/Off,非必选,默认为Off'State': '',# 打开视频后缀限制,false/true,非必选,默认为false'Video': '',# 打开音频后缀限制,false/true,非必选,默认为false'Audio': '',# 打开图片后缀限制,false/true,非必选,默认为false'Image': '',# 打开 ContentType 限制,false/true,非必选,默认为false'ContentType': '',# 打开自定义后缀限制,false/true,非必选,默认为false'Custom': '',# 自定义后缀,当Custom为true时有效,多种文件后缀以/分隔,后缀个数不超过10个'CustomExts': 'jpg/png',# 所有文件,false/true,非必选,默认为false'AllFile': '',}}},# 异常图片检测节点配置信息'ImageInspectNode': {# 节点类型,异常图片检测固定为ImageInspect'Type': 'ImageInspect',# 节点执行操作集合# 非必选配置'Operation': {# 异常图片检测配置详情'ImageInspect': {# 是否开启检测到异常图片检测后自动对图片进行处理的动作,false/true,非必选,默认false'AutoProcess': 'true',# 在检测到为异常图片后的处理动作,有效值为:# BackupObject:移动图片到固定目录下,目录名为abnormal_images_backup/,由后台自动创建# SwitchObjectToPrivate:将图片权限设置为私有# DeleteObject:删除图片# 非必选参数,默认值为BackupObject'ProcessType': 'BackupObject'}}},},},},}response = client.ci_create_workflow(Bucket=bucket_name, # 桶名称Body=body, # 工作流配置信息ContentType='application/xml')print(response)print("workflowId is: " + response['MediaWorkflow']['WorkflowId'])return response
参数说明
调用 ci_create_workflow 函数,具体请求参数如下:
参数名称 | 描述 | 类型 | 是否必选 |
Bucket | 存储桶名称。 | String | 是 |
Body | Dict | 是 |
返回结果说明
更新工作流
接口文档及示例函数名
示例代码
def ci_update_workflow():# 更新工作流配置信息,仅当工作流状态为Paused时支持更新配置信息,故在更新信息前,需要将工作流状态为Paused# 工作流配置详情body = {# 工作流节点 固定值传入即可'MediaWorkflow': {# 创建的工作流名称,可自定义输入名称# 支持中文、英文、数字、—和_,长度限制128字符# 必传参数'Name': 'image-inspect',# 工作流状态,表示创建时是否开启COS上传对象事件通知# 支持 Active / Paused# 非必选,默认Paused 不开启'State': 'Active',# 工作流拓扑结构# 必传参数'Topology': {# 工作流节点依赖关系# 必传参数'Dependencies': {# Start 工作流开始节点,用于存储工作流回调,前缀,后缀等配置信息,只有一个开始节点# End 工作流结束节点# ImageInspectNode 异常图片检测节点信息# 此示例表示 Start -> ImageInspectNode -> End 的依赖关系'Start': 'ImageInspectNode','ImageInspectNode': 'End',},# 工作流各节点的详细配置信息# 必传参数'Nodes': {# 工作流开始节点配置信息'Start': {# 节点类型,开始节点固定为 Start# 必传参数'Type': 'Start',# 工作流的输入信息# 必传参数'Input': {# Object 前缀,COS上传对象的前缀,只有当前缀匹配时,才会触发该工作流# 如该示例,会触发以test为前缀的对象# 必传参数'ObjectPrefix': 'test',# 工作流自定义回调配置信息,当配置了该项后,当工作流执行完成或工作流中的子节点中的任务执行完成,会发送回调给指定Url或tdmq# 非必传配置'NotifyConfig': {# 回调类型,支持Url TDMQ两种类型'Type': 'Url',# 回调地址,当回调类型为Url时有效'Url': 'http://www.callback.com',# 回调事件 支持多种事件,以逗号分割'Event': 'WorkflowFinish,TaskFinish',# 回调信息格式,支持XML JSON两种格式,非必传,默认为XML'ResultFormat': '',# TDMQ 所属园区,当回调类型为TDMQ时有效,支持园区详见https://cloud.tencent.com/document/product/406/12667'MqRegion': '',# TDMQ 使用模式,当回调类型为TDMQ时有效# Topic:主题订阅# Queue:队列服务'MqMode': '',# TDMQ 主题名称,当回调类型为TDMQ时有效'MqName': '',},# 文件后缀过滤器,当需要只处理部分后缀文件时,可配置此项# 非必传配置'ExtFilter': {# 是否开始后缀过滤,On/Off,非必选,默认为Off'State': '',# 打开视频后缀限制,false/true,非必选,默认为false'Video': '',# 打开音频后缀限制,false/true,非必选,默认为false'Audio': '',# 打开图片后缀限制,false/true,非必选,默认为false'Image': '',# 打开 ContentType 限制,false/true,非必选,默认为false'ContentType': '',# 打开自定义后缀限制,false/true,非必选,默认为false'Custom': '',# 自定义后缀,当Custom为true时有效,多种文件后缀以/分隔,后缀个数不超过10个'CustomExts': 'jpg/png',# 所有文件,false/true,非必选,默认为false'AllFile': '',}}},# 异常图片检测节点配置信息'ImageInspectNode': {# 节点类型,异常图片检测固定为ImageInspect'Type': 'ImageInspect',# 节点执行操作集合# 非必选配置'Operation': {# 异常图片检测配置详情'ImageInspect': {# 是否开启检测到异常图片检测后自动对图片进行处理的动作,false/true,非必选,默认false'AutoProcess': 'true',# 在检测到为异常图片后的处理动作,有效值为:# BackupObject:移动图片到固定目录下,目录名为abnormal_images_backup/,由后台自动创建# SwitchObjectToPrivate:将图片权限设置为私有# DeleteObject:删除图片# 非必选参数,默认值为BackupObject'ProcessType': 'BackupObject'}}},},},},}response = client.ci_update_workflow(Bucket=bucket_name, # 桶名称WorkflowId='wd34ca394909xxxxxxxxxxxx4d', # 需要更新的工作流IDBody=body, # 工作流配置信息ContentType='application/xml')print(response)print("workflowId is: " + response['MediaWorkflow']['WorkflowId'])return responsedef ci_update_workflow_state():# 更新工作流状态response = client.ci_update_workflow_state(Bucket=bucket_name, # 桶名称WorkflowId='wd34ca3949090xxxxxxxxxx44d', # 需要更新的工作流IDUpdateState='paused', # 需要更新至的工作流状态,支持 active 开启 / paused 关闭ContentType='application/xml')print(response)return response
参数说明
调用 ci_update_workflow 函数,具体请求参数如下:
参数名称 | 描述 | 类型 | 是否必选 |
Bucket | 存储桶名称。 | String | 是 |
WorkflowId | 需要更新的工作流 ID。 | String | 是 |
Body | Dict | 是 |
调用 ci_update_workflow_state 函数,具体请求参数如下:
参数名称 | 描述 | 类型 | 是否必选 |
Bucket | 存储桶名称。 | String | 是 |
WorkflowId | 需要更新的工作流 ID。 | String | 是 |
UpdateState | 需要更新至的工作流状态,支持 active 开启 / paused 关闭。 | String | 是 |
返回结果说明
查询工作流
接口文档及示例函数名
API 文档 | 示例函数名 |
ci_get_workflow |
示例代码
def ci_get_workflow():# 查询工作流response = client.ci_get_workflow(Bucket=bucket_name, # 桶名称Ids='wd34ca394909xxxxxxxxxxxx4d', # 需要查询的工作流ID,支持传入多个,以","分隔Name='image-inspect', # 需要查询的工作流名称# PageNumber='6', # 分页查询使用,第几页# PageSize='3', # 分页查询使用,每页个数ContentType='application/xml')print(response)return response
参数说明
调用 ci_get_workflow 函数,具体请求参数如下:
参数名称 | 描述 | 类型 | 是否必选 |
Bucket | 存储桶名称。 | String | 是 |
Ids | 需要查询的工作流 ID,可传入多个,以,符号分割字符串。 | String | 否 |
Name | 需要查询的工作流名称。 | String | 否 |
PageNumber | 第几页。 | String | 否 |
PageSize | 每页个数。 | String | 否 |
返回结果说明
测试工作流
接口文档及示例函数名
API 文档 | 示例函数名 |
ci_trigger_workflow |
示例代码
def ci_trigger_workflow():# 测试工作流接口response = client.ci_trigger_workflow(Bucket=bucket_name,WorkflowId='w1b4ffd69xxxxxxxxxxxxe5b92b1fb7ff6',Key='test.mp4')print(response)return response
参数说明
调用 ci_trigger_workflow 函数,具体请求参数如下:
参数名称 | 描述 | 类型 | 是否必选 |
Bucket | 存储桶名称。 | String | 是 |
WorkflowId | 需要触发的工作流 ID。 | String | 是 |
Key | 需要触发的对象名。 | String | 是 |
返回结果说明
删除工作流
接口文档及示例函数名
API 文档 | 示例函数名 |
ci_delete_workflow |
示例代码
def ci_delete_workflow():# 删除指定的工作流response = client.ci_delete_workflow(Bucket=bucket_name, # 桶名称WorkflowId='wd34ca39490904xxxxxxxxxx744d', # 需要删除的工作流ID)print(response)return response
参数说明
调用 ci_delete_workflow 函数,具体请求参数如下:
参数名称 | 描述 | 类型 | 是否必选 |
Bucket | 存储桶名称。 | String | 是 |
WorkflowId | 需要删除的工作流ID。 | String | 是 |
返回结果说明
获取工作流实例详情列表
接口文档及示例函数名
API 文档 | 示例函数名 |
ci_list_workflowexecution |
示例代码
def ci_list_workflowexecution():# 获取工作流实例详情列表接口response = client.ci_list_workflowexecution(Bucket=bucket_name,WorkflowId='w1b4ffd690xxxxxxxxxxfe5b92b1fb7ff6')print(response)return response
参数说明
调用 ci_list_workflowexecution 函数,具体请求参数如下:
参数名称 | 描述 | 类型 | 是否必选 |
Bucket | 存储桶名称。 | String | 是 |
WorkflowId | 需要删除的工作流ID。 | String | 是 |
Name | 触发的文件名称。 | String | 否 |
StartCreationTime | 拉取创建时间大于等于该时间。格式为:%Y-%m-%dT%H:%m:%S%z。 | String | 否 |
EndCreationTime | 拉取创建时间小于等于该时间。格式为:%Y-%m-%dT%H:%m:%S%z。 | String | 否 |
OrderByTime | Desc 或者 Asc。默认为 Desc。 | String | 否 |
States | 工作流实例状态,以,分割支持多状态All,Success,Failed,Running,Cancel。默认为 All。 | String | 否 |
Size | 拉取的最大任务数。默认为10。最大为100。 | Int | 否 |
NextToken | 请求的上下文,用于翻页。下一页输入 token。 | String | 否 |
BatchJobId | 批量触发工作流任务 ID,用于扫描出批量触发任务 ID 对应执行的工作流实例。 | String | 否 |
返回结果说明
获取工作流实例详情
接口文档及示例函数名
API 文档 | 示例函数名 |
ci_get_workflowexecution |
示例代码
def ci_get_workflowexecution():# 获取工作流实例详情接口response = client.ci_get_workflowexecution(Bucket=bucket_name,RunId='id1f94868688111xxxxxxxxxxx0ca1839')print(response)return response
参数说明
调用 ci_get_workflowexecution 函数,具体请求参数如下:
参数名称 | 描述 | 类型 | 是否必选 |
Bucket | 存储桶名称。 | String | 是 |
RunId | 需要查询的工作流实例 ID。 | String | 是 |
返回结果说明