다큐멘트 센터 Object Storage Task Notification & Query

Task Notification & Query

최신 업데이트:2025-08-18 15:32:50

고급 리소스 관리(Fmgr) 작업은 비동기적으로 실행됩니다. 플랫폼은 작업 완료 시 사전 알림 기능과 수동으로 작업 상태를 조회하는 기능을 모두 지원합니다.

작업 알림

  1. 작업을 제출할 때 notifyURL을 지정하면, 시스템은 작업이 완료된 후 해당 주소로 자동으로 알림을 전송합니다.
  2. 알림 요청에는 연결 타임아웃 20초, 요청 타임아웃 60초가 설정되어 있습니다.
  3. 알림 내용은 안전한 Base64 형식으로 인코딩되어 전송됩니다. 데이터를 수신한 후 먼저 Base64로 디코딩한 다음, 결과 문자열을 JSON 형식으로 파싱해야 합니다.

알림 보안 메커니즘

CDNetworks 오브젝트 스토리지는 콜백 요청 헤더에 Authorization 필드를 포함합니다.

형식:

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

예시:
d0e56f9f4a75267eba123348f839fbedcd9464c6:OTQzNzU5YWVjOTZlNTRlMWIwYmQzZTA2ZDhjMTFhOWEyNGM1ZjIzZg==

알림 재시도 메커니즘

  • 업로드 콜백이 실패할 경우, 시스템은 즉시 3회 재시도 후, 이후 5회는 1분 간격으로 재시도를 진행하여 총 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) 작업의 실행 상태를 조회하는 데 사용됩니다.

Note: Fmgr 작업이 notifyURL을 통해 수신하는 알림 콘텐츠의 형식은 이 인터페이스의 응답 내용 형식과 동일합니다.

요청 설명

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 각 작업(Operation)에 대한 상태 정보입니다. 여러 작업이 요청에 포함될 경우 items에 여러 정보가 들어갑니다.
cmd string 작업 명령(fops)입니다.
code string 처리 결과 상태 코드: 0대기, 1처리 중, 2처리 실패, 3처리 성공, 4처리 성공 알림, 5처리 성공 알림 실패, 6처리 성공 알림 성공, 18처리 실패 알림, 19처리 실패 알림 실패, 20처리 실패 알림 성공, 그 외(특수한 상황의 경우, 오브젝트 스토리지 담당자에게 문의해 주시기 바랍니다).
참고: “m3u8 파일 삭제” 인터페이스를 사용할 경우 삭제가 실패할 수 있으며, 일부 TS 파일이 남아 있을 수 있습니다. 완전한 삭제를 원한다면 m3u8 연관 삭제 작업을 다시 실행해야 합니다.
desc string 상태 코드에 대응하는 자세한 설명입니다.
error string 처리 실패 시, 이 필드에 구체적인 실패 사유가 기입됩니다.
fsize int 처리된 파일의 크기입니다.
참고: prefix로 작업을 삭제할 경우, 본 필드는 비어있을 수 있습니다.
hash string 처리 결과의 hash 값.
참고: prefix로 작업을 삭제할 경우, 본 필드는 비어있을 수 있습니다.
key string 처리 결과의 key 값.
참고: prefix로 작업을 삭제하는 경우 이 필드는 지정 출력값이며, 지정된 출력이 없으면 비어있을 수 있습니다.
url string 자원의 접근 경로.
참고: prefix로 작업을 삭제하는 경우, 이 필드는 지정 출력 경로이며, 지정된 출력이 없으면 비어있을 수 있습니다.
decompresslist string 압축 해제 후 자동 생성되는 리스트 파일입니다.
참고: 압축 해제 작업이 없는 경우 비어있을 수 있습니다.
  • 요청이 실패하면 아래와 같은 내용을 가진 Json 문자열을 반환합니다:
{
    "code":"<httpCode  int>", 
    "message":"<errMsg string>"
}
필드명 필수 여부 설명
code HTTP 요청 응답 코드, HTTP response status code 참조
message 요청 실패 사유를 나타내는 메시지

조회 예시

curl -v http://mgrDomain/fmgr/status?persistentId=ff80808149deceff014a7090b6700000
이 문서의 내용이 도움이 되었습니까?
아니오
정상적으로 제출되었습니다.피드백을 주셔서 감사합니다.앞으로도 개선을 위해 노력하겠습니다.