Notification Description

最終更新日:2025-08-18 15:32:53

このセクションでは、アップロードトークンにpersistentOps指令を含めた場合などのファイルアップロード前処理タスクにおける通知メカニズムの概要について説明します。

通知セキュリティメカニズム

オブジェクトストレージは、通知リクエストのヘッダーにAuthorizationフィールドを追加します。

フォーマット

<Accesskey>:<Urlsafe_Base64_Encode(hmac_sha1(NotifyUrl+"\n"+Response,SecretKey))>

注意

  1. Responseは受信した通知内容です。
  2. オブジェクトストレージは、ユーザー配下の有効なAKとSKのセットからランダムに選択してauthenticationヘッダーのAuthorization値を生成します。認証処理の際には、全てのAKとSKのセットを記録し、いずれか正しく組み合ったキー文字列でヘッダー認証を行ってください。

通知データの説明

通知アドレスNotifyUrlを設定後、このアドレスには URL-Safe Base64 EncodedJSON形式メッセージが送信されます。本メッセージは永続処理結果そのものとなります。
注意:アップロード前処理結果の通知受信アドレスは、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"
                }
            ]
        }
    ]
}