Last update:2025-08-18 15:32:53
This section provides an overview of the notification mechanism for file upload preprocessing tasks, such as when persistentOps instructions are included with the upload token.
Object Storage will add an Authorization field to the notification’s request header.
Format
<Accesskey>:<Urlsafe_Base64_Encode(hmac_sha1(NotifyUrl+"\n"+Response,SecretKey))>
NOTE:
- Response is the content of the notification received;
- Object Storage will randomly pick any set of valid AK and SK under the user to generate the value of the
authenticationheader Authorization. During the authentication process, you need to record all AK and SK sets and use one of the sets of correctly matched key strings to perform the header authentication.
After setting the notification address NotifyUrl, this address will obtain a URL-Safe Base64 Encoded Response message in JSON format. This message is simply the persistent processing result.
NOTE:
The address for receiving the preprocessing result notification must be a public network URL address that can respond normally with HTTP/1.1 200 OK. If there are special characters like spaces, Url Encode encoding is required.
Format:
{
"id": "<id string>",
"code": "<code int>",
"desc": "<desc string>",
"separate":"<separate int>",
"inputkey":"<inputkey string>",
"inputbucket":"<inputbucket string>" ,
"inputfsize":"<inputfsize int>"
"items": [
{
"cmd": "<cmd string>",
"code": "<code string>",
"costTime": "<costTime int>",
"desc": "<desc string>",
"error": "<error string>",
"fsize": "<fsize int>",
"hash": "<hash string>",
"key": "<key string>",
"url": "<url string>",
"duration": "<duration double>",
"bit_rate": "<bit_rate string>",
"resolution": "<resolution string>",
"detail": [
{
"fsize": "<fsize int>",
"hash": "<hash string>",
"key": "<key string>",
"url": "<url string>",
"duration": "<duration double>",
"bit_rate": "<bit_rate string>",
"resolution": "<resolution string>"
}
]
}
]
}
Field Description Correspondence:
| Field name | Type | Description |
|---|---|---|
| id | string | Upload preprocessing or persistentId returned by the trigger persistent processing interface. |
| code | int | Status codes for notification progress. 1 Separate notifications, task processing in progress; 2 Separate notifications, task processing failure 3 Notification successful. |
| desc | string | Detailed description corresponding to the status code. |
| separate | string | Separate notification option. 0 indicates notification in one go; 1 indicates separate notifications. |
| inputkey | string | Original file name. |
| inputbucket | string | Original file bucket. |
| inputfsize | int | Original file size. |
| items | array | Status information of each operation. If the processing request includes multiple operations, items will contain multiple messages. |
| cmd | string | Operation command (ops). |
| code | string | Status codes for processing results. 2 Processing failed; 3 Processing successful. |
| costTime | int | Time spent for transcoding, which is 0 by default for non-special scenarios. |
| desc | string | Detailed description corresponding to the status code. |
| error | string | If processing fails, this field will list the specific causes. |
| fsize | int | Processed file size. |
| hash | string | hash value of the processing result. |
| key | string | key value of the processing result. |
| url | string | Access path of resource. |
| duration | double | Video duration outputted by transcoding. |
| bit_rate | string | Video bit rate outputted by transcoding. |
| resolution | string | Video resolution outputted by transcoding. |
| detail | array | Specific information on each data file when multiple files are outputted. |
| fsize | int | Processed file size. |
| hash | string | hash value of the processing result. |
| key | string | key value of the processing result. |
| url | string | Access path of resource url. |
| duration | double | Video duration outputted by transcoding. |
| bit_rate | string | Video bit rate outputted by transcoding. |
| resolution | string | Video resolution outputted by transcoding. |
{
{
"id":"2c90802745ee87870145ef1430f90006",
"code":3,
"desc": "operate ["avthumb/flv"] is finish",
"separate":0,
"inputkey":"aaa.flv",
"inputbucket":"chenqltesttwo",
"inputfsize":20000,
"items":[
{
"cmd":"avthumb/flv",
"code":"3",
"costTime": 0,
"desc":"finish",
"error":null,
"fsize":20000,
"hash":"FlWvHsc-CK6miygKCcLjCaQ5csNO",
"key":"chenqltesttwo:aaa.flv",
"url":"http://chenqltesttwo.com/aaa.flv",
"duration": 198.083,
"bit_rate": "1288025",
"resolution": "1280X720",
"detail": [
{
"fsize": 20000,
"hash": "FlWvHsc-CK6miygKCcLjCaQ5csNO",
"key": "chenqltesttwo:aaa.flv",
"url": "http://chenqltesttwo.com/aaa.flv",
"duration": 198.083,
"bit_rate": "1288025",
"resolution": "1280X720",
}
]
}
]
}
}