功能说明
数据万象支持自定义设置回调 URL,在任务完成后,系统向该 URL 发送 HTTP POST 请求,请求体中包含通知内容。您可通过配置的回调地址及时了解任务处理的进展和状态,以便进行其他业务操作。
回调内容
任务完成后,系统会向您设置的回调地址发送回调内容,包含完整节点数据的内容展示如下:
<Response><EventName>TaskFinish</EventName><JobsDetail><Code>Success</Code><CreationTime>2023-05-24T11:12:44+0800</CreationTime><EndTime>2023-05-24T11:12:45+0800</EndTime><Input><BucketId>test-1253960000</BucketId><Object>test.png</Object><Region>ap-chongqing</Region></Input><JobId>cda071f3af9e011ed8f900133752da9af</JobId><Message/><Operation><ImageInspectResult><Code>Success</Code><InputObjectName>test.png</InputObjectName><InputObjectUrl>https://.cos.ap-chongqing.myqcloud.com/test.png</InputObjectUrl><Message/><ProcessResult><PicSize>304491</PicSize><PicType>png</PicType><Suspicious>true</Suspicious><SuspiciousBeginByte>119</SuspiciousBeginByte><SuspiciousEndByte>304490</SuspiciousEndByte><SuspiciousSize>304372</SuspiciousSize><SuspiciousType>MPEG-TS</SuspiciousType><AutoProcessResult><Code>Success</Code><Message>Success</Message></AutoProcessResult></ProcessResult><State>Success</State></ImageInspectResult><JobLevel>0</JobLevel></Operation><QueueId>p3a3b198088e74b76b31d553a77b656be</QueueId><StartTime>2023-05-24T11:12:45+0800</StartTime><State>Success</State><Tag>ImageInspect</Tag></JobsDetail></Response>
具体的数据内容如下:
节点名称(关键字) | 父节点 | 描述 | 类型 |
Response | 无 | 保存结果的容器 | Container |
Container 节点 Response 的内容:
节点名称(关键字) | 父节点 | 描述 | 类型 |
EventName | Response | 固定值,为 TaskFinish | String |
JobsDetail | Response | Container 数组 |
如果任务是通过工作流触发的,Response.JobsDetail.Input 还会包含 CosHeaders 节点,类型为 Container 数组。
Container 节点 CosHeaders 的内容:
节点名称(关键字) | 父节点 | 描述 | 类型 |
Key | Response.JobsDetail.Input.CosHeaders | 自定义 Header 的名称 | String |
Value | Response.JobsDetail.Input.CosHeaders | 自定义 Header 的值 | String |
如果任务是通过工作流触发的,Response.JobsDetail 还会包含 Workflow 节点,类型为 Container。
Container 节点 Workflow 的内容:
节点名称(关键字) | 父节点 | 描述 | 类型 |
RunId | Response.Workflow | 工作流实例 ID | String |
WorkflowId | Response.Workflow | 工作流 ID | String |
WorkflowName | Response.Workflow | 工作流名称 | String |
Name | Response.Workflow | 工作流节点名称 | String |
实际案例
案例 1:通过任务接口触发的任务回调
<Response><EventName>TaskFinish</EventName><JobsDetail><Code>Success</Code><CreationTime>2023-05-24T11:12:44+0800</CreationTime><EndTime>2023-05-24T11:12:45+0800</EndTime><Input><BucketId>test-1253960000</BucketId><Object>test.png</Object><Region>ap-chongqing</Region></Input><JobId>cda071f3af9e011ed8f900133752da9af</JobId><Message/><Operation><ImageInspectResult><Code>Success</Code><InputObjectName>test.png</InputObjectName><InputObjectUrl>https://test-1253960000.cos.ap-chongqing.myqcloud.com/test.png</InputObjectUrl><Message/><ProcessResult><PicSize>304491</PicSize><PicType>png</PicType><Suspicious>true</Suspicious><SuspiciousBeginByte>119</SuspiciousBeginByte><SuspiciousEndByte>304490</SuspiciousEndByte><SuspiciousSize>304372</SuspiciousSize><SuspiciousType>MPEG-TS</SuspiciousType><AutoProcessResult><Code>Success</Code><Message>Success</Message></AutoProcessResult></ProcessResult><State>Success</State></ImageInspectResult><JobLevel>0</JobLevel></Operation><QueueId>p3a3b198088e74b76b31d553a77b656be</QueueId><StartTime>2023-05-24T11:12:45+0800</StartTime><State>Success</State><Tag>ImageInspect</Tag></JobsDetail></Response>
案例 2:通过任务接口触发的任务回调,格式为 JSON
{"EventName": "TaskFinish","JobsDetail": [{"Code": "Success","CreationTime": "2023-05-24T14:24:07+0800","EndTime": "2023-05-24T14:24:08+0800","Input": {"BucketId": "testpic-1253960000","Object": "test.png","Region": "ap-chongqing"},"JobId": "c966a67d0f9fb11eda05029775a03955f","Message": "","Operation": {"ImageInspectResult": [{"Code": "Success","InputObjectName": "test.png","InputObjectUrl": "https://testpic-1253960000.cos.ap-chongqing.myqcloud.com/test.png","Message": "","ProcessResult": {"PicSize": 304491,"PicType": "png","Suspicious": true,"SuspiciousBeginByte": 119,"SuspiciousEndByte": 304490,"SuspiciousSize": 304372,"SuspiciousType": "MPEG-TS"},"State": "Success"}],"JobLevel": "0",},"QueueId": "p3a3b198088e74b76b31d553a77b656be","StartTime": "2023-05-24T14:24:08+0800","State": "Success","Tag": "ImageInspect"}]}