Task Notification & Query

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

高機能リソース管理(Fmgr)タスクは非同期で実行されます。プラットフォームは、タスク完了時の能動的な通知とタスクステータスの手動確認の両方に対応しています。

タスク通知

  1. タスクを送信する際に notifyURL を指定すると、タスク完了時にシステムがこのアドレスへ通知を自動的に送信します。
  2. 通知リクエストの接続タイムアウトは20秒、リクエストタイムアウトは60秒に設定されています。
  3. 通知内容は安全なBase64形式でエンコードされています。受信後はまずBase64デコードを行い、その結果得られた文字列を JSON として解析してください。

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

CDNetworks Object Storageは、コールバックリクエストのヘッダーに Authorization フィールドを含めます。

フォーマット:

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

例:
d0e56f9f4a75267eba123348f839fbedcd9464c6:OTQzNzU5YWVjOTZlNTRlMWIwYmQzZTA2ZDhjMTFhOWEyNGM1ZjIzZg==

通知リトライメカニズム

  • アップロードのコールバックが失敗した場合、システムは直ちに3回リトライし、その後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=

タスクの照会

このAPIは、高機能リソース管理(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処理失敗通知成功、その他の状況については、オブジェクトストレージの担当者までお問い合わせください。
注: 「Delete m3u8 files」インターフェースによる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 response status codeを参照)
message はい リクエスト失敗時のエラーメッセージ

照会例

curl -v http://mgrDomain/fmgr/status?persistentId=ff80808149deceff014a7090b6700000