文档中心 Object Storage API 任务通知和查询

任务通知和查询

更新时间:2025-08-18 15:32:50

高级资源管理(Fmgr)的任务采用异步方式执行,支持任务完成后的主动通知,同时也支持主动查询任务状态。

任务通知

1、如您下发任务时有指定notifyURL,任务结束后会主动往该地址发送通知。
2、通知请求会配置连接超时20s、请求超时60s。
3、通知内容使用安全base64编码,收到内容后需要先做base64解码后再使用JSON解析内容。

通知安全机制

CDNetworks对象存储在回调请求头中增加 Authorization 字段。

格式如下:

<Accesskey>:<Urlsafe_Base64_Encode(hmac_sha1(callBackUrlWithQuery+"\n"+urlsafe_base64_encode(callbackBody),SecretKey))>

范例:
d0e56f9f4a75267eba123348f839fbedcd9464c6:OTQzNzU5YWVjOTZlNTRlMWIwYmQzZTA2ZDhjMTFhOWEyNGM1ZjIzZg==

通知重试机制

  • 上传回调失败时,默认连续重试 3 次,然后每隔 1 分钟重试 1 次,共 5 次,总共重试 8 次。
  • 若重试后回调成功,返回状态码 200。
  • 若重试后回调服务器无正常响应,则返回状态码 579。

通知示例

POST www.test-notify.com
Authorization:f4880395bc1624277f0cf1ee2d6d332fbc1ef11b:NGEyMDVjMDc1NTlkNTE3NDRhMzI3YmFjMzdlOGQ5NzRjNWUyYmE1OQ==
content-length: 652
content-type: text/plain; charset=UTF-8
host: www.test-notify.com
connection: Keep-Alive
user-agent: Apache-HttpClient/4.5.12 (Java/1.8.0_242)
accept-encoding: gzip,deflate

eyJpZCI6IjIwMTA1NDY0NTQwZjE5NzQxNGQ1MWE4NjEyNDBkOTIxZWYyMDYiLCJjb2RlIjozLCJkZXNjIjoiZmlsZU9wZXJhdGVTdWNjZWVkIiwic2VwYXJhdGUiOjAsIml0ZW1zIjpbeyJjbWQiOiJyZXNvdXJjZS9kSEpoYm5OamIyUmxNVEExT25SbGMzUmZjM0pqWDJacGJHVmZNVFk1TVRrM09ESTFNVEUyTmk1dGNEUT0vYnVja2V0L2R5MTBjbUZ1YzJOdlpHVXRjbVZuYVc5dU1UQTEva2V5L2RHVnpkRjl6Y21OZlptbHNaVjh4TmpreE9UYzRNalV4TVRZMkxtMXdOQT09IiwiY29kZSI6MywiZGVzYyI6ImZpbGVPcGVyYXRlU3VjY2VlZCIsImVycm9yIjpudWxsLCJoYXNoIjoibGo2Tkg4Q0V1dUNLZDJmQm94ZTJGSmxybDVsVCIsImZzaXplIjo2NDM3ODM2LCJrZXkiOiJ0ZXN0X3NyY19maWxlXzE2OTE5NzgyNTExNjYubXA0IiwidXJsIjoiaHR0cDovL3ctdHJhbnNjb2RlLXJlZ2lvbjEwNS5jb20vdGVzdF9zcmNfZmlsZV8xNjkxOTc4MjUxMTY2Lm1wNCJ9XX0=

任务查询

此接口用于查询高级资源管理(Fmgr)任务的执行状态。

注意:通过notifyURL接收到的Fmgr任务的通知内容格式与此接口响应内容的格式相同。

请求描述

GET /fmgr/status?persistentId=<persistentId>
HOST: <MgrDomain>

参数描述

参数 必须 描述
persistentId 任务进程ID。

响应描述

  • 如果请求成功,将返回一个包含以下内容的Json字符串:
{
  "id": "<id string>",
  "code": <code int>,
  "desc": "<desc string>",
  "separate": "<separate string>",
  "items": [
    {
      "cmd": "<cmd string>",
      "code": "<code string>",
      "desc": "<desc string>",
      "error": "<error string>",
      "hash": "<hash string>",
      "fsize": "<fsize int>",
      "key": "<key string>",
      "url": "<url string>"
      "decompresslist": "<list string>"
    }
  ]
}
字段名称 类型 描述
id string 任务进程ID,即Fmgr接口响应中的persistentId。
code int 1. 如果是从查询接口获取的信息,表示任务状态代码:0待处理, 1处理中, 3处理完成, 4通知中, 5通知失败, 6通知成功;
2. 如果是从通知接口获取的信息,表示通知状态,1表示是单独通知 的 ,如果有任务处理,2单独通知,如果有任务处理失败,3表示通知成功。
desc string 与状态代码对应的详细描述。
separate string 单独通知选项,0表示一次性通知,1表示单独通知。
items array 每个操作的状态信息。如果处理请求包含多个操作,items包含多条信息。
cmd string 操作命令(fops)。
code string 处理结果状态代码,0待处理, 1处理中, 2处理失败, 3处理成功, 4处理成功待通知​, 5处理成功但通知失败, 6处理成功但通知成功, 18处理失败待通知, 19处理失败但通知失败, 20处理失败但通知成功, 其他(具体情况请联系对象存储工作人员)。
注意:使用“删除m3u8文件”接口删除m3u8文件失败,部分TS可能已经被删除,可能存在残留TS文件。如需彻底删除,请再次发起m3u8关联删除操作。
desc string 与状态代码对应的详细描述。
error string 如果处理失败,该字段列出具体原因。
fsize int 处理后的文件大小。
注意:如果通过前缀删除任务,该字段为空。
hash string 处理结果的hash值。
注意:如果通过前缀删除任务,该字段为空。
key string 处理结果的key值。
注意:如果任务需要通过前缀删除,此字段为指定的输出;如果没有指定输出,此字段为空。
url string 资源的访问路径。
注意:如果任务需要通过前缀删除,此字段为指定的输出访问URL;如果没有指定输出,此字段为空。
decompresslist string 解压后自动生成的列表文件。
注意:如果没有解压缩操作,此字段为空。
  • 如果请求失败,将返回一个包含以下内容的Json字符串:
{
    "code":"<httpCode int>", 
    "message":"<errMsg string>"
}
字段名称 必须 描述
code HTTP请求响应代码,参见 HTTP响应状态码
message 请求失败的消息。

查询示例

curl -v http://mgrDomain/fmgr/status?persistentId=ff80808149deceff014a7090b6700000
本篇文档内容对您是否有帮助?
有帮助
我要反馈
提交成功!非常感谢您的反馈,我们会继续努力做到更好!