로컬 및 원격 업로드 작동 방식
로컬 및 원격 업로드 작동 방식
이 가이드에서는 Frame.io V4 API를 사용하여 파일을 업로드하는 전체 과정을 자세히 설명합니다. 로컬 및 원격 업로드 모두에 대한 원시 API 요청과 응답을 다룹니다.
SDK 전용 가이드가 필요하신가요? 청킹, 재시도, 진행률 추적 기능이 내장된 업로드 연동에 대해서는 Python SDK 업로드 가이드를 참조하세요.
사전 요구 사항
파일 업로드를 시작하기 전에 다음 설정 단계를 완료했는지 확인하세요.
업로드 방법 선택
Frame.io API를 사용하여 파일을 업로드하는 방법에는 파일 생성(로컬 업로드)과 파일 생성(원격 업로드) 두 가지가 있습니다.
바탕 화면에서 파일을 드래그하는 것과 같이 애플리케이션에서 미디어에 로컬로 액세스할 수 있는 경우에 사용합니다.
다른 서비스와의 연동 등 네트워크를 통해 미디어에 액세스할 때 사용합니다.
이 가이드에서는 원격 업로드를 완료하는 더 간단한 사례부터 살펴보겠습니다.
원격 업로드
원격 업로드를 통해 파일을 생성하려면 파일 생성(원격 업로드) 엔드포인트를 선택합니다. 요청 본문에는 파일 이름과 소스 URL이 필요합니다.
현재 원격 업로드의 파일 크기 제한은 50GB입니다. 50GB보다 큰 파일의 경우 로컬 업로드를 사용하세요.
요청 예시
응답 예시
요청에 성공하면 다음과 같은 응답이 생성됩니다.
로컬 업로드
로컬 업로드를 통해 파일을 생성하려면 파일 생성(로컬 업로드) 엔드포인트를 선택합니다. 요청 본문에는 파일 이름과 바이트 단위로 지정된 파일 크기가 필요합니다.
요청 예시
응답 예시
요청에 성공하면 콘텐츠가 없는 자리 표시자 파일 리소스가 생성됩니다. 파일 크기에 따라 응답 본문에는 하나 이상의 upload_urls가 포함됩니다. 이 예시의 경우 해당 업로드를 여러 부분으로 나누어 관리해야 합니다.
중요 업로드 요구 사항.
후속 업로드 요청을 보낼 때 다음의 중요한 세부 사항을 유의해야 합니다.
- HTTP 요청 메서드는
PUT이어야 합니다. x-amz-acl헤더가 포함되어야 하며 private으로 설정해야 합니다.Content-Type헤더는 원래의 파일 생성(로컬 업로드) 요청에 지정된media_type과 일치해야 합니다. 이는 파일을 여러 부분으로 나누어 업로드할 때도 마찬가지입니다. 위 예시에서media_type의 값은image/jpeg입니다. 따라서Content-Type의 값도image/jpeg여야 합니다.
멀티파트 업로드
지정된 파일이 둘 이상의 업로드 URL을 반환하는 경우 소스 파일을 청크로 분할하고 각 청크에 대해 PUT 요청을 실행해야 합니다.
권장 사항:Python SDK 업로드 가이드에서는 청킹, 병렬 업로드, 재시도, 진행률 추적을 기본으로 처리하는 FrameioUploader를 사용한 멀티파트 업로드 방법을 다룹니다.
SDK가 없는 언어나 프로세스를 완전히 제어하기 위해 업로드를 수동으로 구현해야 하는 경우 아래 스크립트는 파일을 청크로 분할하고 사전 서명된 URL을 사용하여 각 청크를 업로드하는 방법을 보여 줍니다.
Python 구현 예제
업로드 흐름 요약
다음 단계: 파일이 업로드되면 반환된 파일 ID를 활용해 Frame.io V4 API로 코멘트를 추가하거나, 공유를 생성하거나, 기타 작업을 수행할 수 있습니다.