最終更新日:2025-08-18 15:32:53
このセクションでは、アップロードトークンにpersistentOps指令を含めた場合などのファイルアップロード前処理タスクにおける通知メカニズムの概要について説明します。
オブジェクトストレージは、通知リクエストのヘッダーにAuthorizationフィールドを追加します。
フォーマット
<Accesskey>:<Urlsafe_Base64_Encode(hmac_sha1(NotifyUrl+"\n"+Response,SecretKey))>
注意:
- Responseは受信した通知内容です。
- オブジェクトストレージは、ユーザー配下の有効なAKとSKのセットからランダムに選択して
authenticationヘッダーのAuthorization値を生成します。認証処理の際には、全てのAKとSKのセットを記録し、いずれか正しく組み合ったキー文字列でヘッダー認証を行ってください。
通知アドレスNotifyUrlを設定後、このアドレスには URL-Safe Base64 Encoded のJSON形式メッセージが送信されます。本メッセージは永続処理結果そのものとなります。
注意:アップロード前処理結果の通知受信アドレスは、HTTP/1.1 200 OKで正常に応答可能なパブリックネットワーク上のURLアドレスである必要があります。スペースなどの特殊文字を含む場合、URLエンコードが必要です。
フォーマット:
{
"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>"
}
]
}
]
}
フィールド対応説明:
| フィールド名 | タイプ | 説明 |
|---|---|---|
| id | string | アップロード前処理または、トリガーされた永続処理インターフェースが返すpersistentId。 |
| code | int | 通知進捗のステータスコード。 1:分割通知、タスク処理中; 2:分割通知、タスク処理失敗; 3:通知成功。 |
| desc | string | ステータスコードに対応する詳細説明。 |
| separate | string | 分割通知オプション。 0:一括通知; 1:分割通知。 |
| inputkey | string | 元ファイル名。 |
| inputbucket | string | 元ファイルのバケット名。 |
| inputfsize | int | 元ファイルサイズ。 |
| items | array | 各操作ごとのステータス情報。複数の操作が存在する場合はitemsに複数メッセージが含まれます。 |
| cmd | string | 操作コマンド(ops)。 |
| code | string | 処理結果のステータスコード。 2:処理失敗; 3:処理成功。 |
| costTime | int | トランスコードにかかった時間。特殊ケース以外はデフォルトで0。 |
| desc | string | ステータスコードに応じた詳細説明。 |
| error | string | 処理失敗時の具体的な原因。 |
| fsize | int | 処理後ファイルサイズ。 |
| hash | string | 処理結果のhash値。 |
| key | string | 処理結果のkey値。 |
| url | string | リソースのアクセスパス。 |
| duration | double | トランスコードで出力された動画の再生時間。 |
| bit_rate | string | トランスコードで出力された動画のビットレート。 |
| resolution | string | トランスコードで出力された動画の解像度。 |
| detail | array | 複数ファイル出力時、それぞれのデータファイルの具体的な情報。 |
| fsize | int | 処理後ファイルサイズ。 |
| hash | string | 処理結果のhash値。 |
| key | string | 処理結果のkey値。 |
| url | string | リソースのアクセスパス。 |
| duration | double | トランスコードで出力された動画の再生時間。 |
| bit_rate | string | トランスコードで出力された動画のビットレート。 |
| resolution | string | トランスコードで出力された動画の解像度。 |
{
"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"
}
]
}
]
}