Harvest Job으로 라이브 구간 저장
On this page
Harvest Job은 엔드포인트에 보관된 과거 라이브 구간을 추출하여 COS에 저장하는 작업입니다. 생성 후 한 번 실행되며, 원본을 다시 송출하는 작업과 다릅니다.
사전 준비
- 대상 엔드포인트에 Time-shifted Viewing이 활성화되어 있어야 합니다.
- 추출할 영상이 실제 보관 범위에 남아 있어야 합니다.
- 종료 시각은 과거여야 하며 시작 / 종료 간격은 최대
24시간입니다. - StreamPackage와 같은 리전의 COS 버킷 및 읽기 / 쓰기 권한을 준비합니다.
- 작업마다 고유한 Manifest key를 사용합니다.
같은 Manifest key를 재사용하면 새 플레이리스트가 기존 플레이리스트를 덮어쓸 수 있습니다. 서로 다른 작업은 저장 경로도 구분합니다.
콘솔 생성 절차
- StreamPackage 콘솔의 Harvest Jobs에서 Create Harvest Job을 선택합니다.
- 작업 ID를 지정하고 Origin endpoint를 선택합니다.
- Date and time format에서 Epoch seconds 또는 ISO-8601을 선택합니다.
- 시작과 종료 시각을 지정합니다.
- COS 권한을 확인하고 같은 리전 버킷을 선택합니다.
- 버킷 내부 경로와 부모 플레이리스트 파일명을 포함한 Manifest key를 지정합니다.
- 완료 알림이 필요하면 Callback HTTP URL을 설정합니다.
- 내용을 확인한 뒤 작업을 생성합니다.
작업 ID는 공식 안내 기준 영문 / 숫자 / 밑줄 / 하이픈을 사용하며 최대 128자입니다.
시간 지정 예시
| 항목 | ISO-8601 예시 |
|---|---|
| 시작 | 2026-09-18T00:00:00Z |
| 종료 | 2026-09-18T00:10:00Z |
위 날짜는 형식 설명입니다. 실제로 저장된 과거 구간으로 바꿉니다.
상태와 결과 확인
목록 또는 Info에서 작업 상태와 채널 / 엔드포인트 / 시간 범위를 확인합니다. 완료되면 COS의 플레이리스트와 참조된 세그먼트가 존재하는지 확인하고 실제 재생합니다. 작업 상태만 보지 말고 시작 / 종료 구간, 길이, 영상 / 오디오도 대조합니다.
API 조회 예시는 다음과 같습니다. 사용 중인 SDK의 파라미터 스키마를 확인하고 작업 ID를 바꿉니다.
LANGUAGE
tccli mdp DescribeStreamPackageHarvestJobs --region ap-seoul
tccli mdp DescribeStreamPackageHarvestJob --region ap-seoul --ID YOUR_JOB_ID완료 콜백
공식 안내의 콜백은 다음 필드를 포함합니다. 아래 값은 형식 예시입니다.
LANGUAGE
{
"harvest_job_id": "demo_job",
"state": "success",
"time": 1789689600
}콜백 state는 success 또는 failed, time은 Unix 시각입니다. 수신기는 알림 ID를 기준으로 멱등 처리하고 인증 / 재시도 정책을 적용합니다.
결과 확인과 정리
| 점검 항목 | 확인 내용 |
|---|---|
| 원본 보관 | 타임시프트 활성화 시점과 남아 있는 구간 |
| 시간 범위 | 시작 < 종료, 종료가 과거, 최대 24시간 |
| 저장 위치 | 같은 리전 COS 버킷과 권한 |
| 파일 경로 | 고유한 Manifest key와 덮어쓰기 위험 |
| 재생 결과 확인 | 세그먼트 존재 여부와 접근 정책 |
작업 기록 관리는 콘솔 / API에 표시된 현재 상태와 사용 가능한 작업을 기준으로 진행합니다.
작업 기록 정리와 COS 결과 파일 삭제는 별개로 확인합니다. 테스트 결과물을 삭제할 때는 정확한 버킷 / 객체 경로를 지정하고 공유 여부를 먼저 확인합니다.
