이 페이지에서는 객체 업로드 및 다운로드와 관련된 개념을 설명합니다. 최대 5TiB 크기의 MIME 유형 데이터를 업로드하고 저장할 수 있습니다.
업로드
다음과 같은 방법으로 Cloud Storage에 업로드 요청을 보낼 수 있습니다.
단일 요청 업로드 객체가 단일 요청으로 업로드되는 업로드 방법입니다. 연결 실패 시 파일 전체를 업로드해도 될 만큼 작은 파일인 경우 이 방법을 사용합니다. 단일 요청 업로드에 대한 안내는 파일에서 객체 업로드 또는 메모리에서 객체 업로드를 참조하세요.
재개 가능한 업로드. 특히 중요한 대용량 파일을 더욱 안정적으로 전송하는 업로드 방법입니다. 재개 가능한 업로드는 업로드당 추가 HTTP 요청 하나의 비용으로 작은 파일에서도 작동하므로 대부분의 애플리케이션에서 좋은 선택입니다. 또한 재개 가능한 업로드를 사용하여 스트리밍 이전을 수행할 수 있으며 이를 통해 알 수 없는 크기의 객체를 업로드할 수 있습니다.
XML API 멀티파트 업로드. Amazon S3 멀티파트 업로드와 호환되는 업로드 방법입니다. 파일은 여러 부분으로 업로드되고 최종 요청을 통해 단일 객체로 조합됩니다. XML API 멀티파트 업로드를 사용하면 여러 부분을 동시에 업로드할 수 있으므로 전체 업로드를 완료하는 데 걸리는 시간을 줄일 수 있습니다.
이러한 기본 업로드 유형을 사용하면 고급 업로드 전략을 사용할 수 있습니다.
동시 복합 업로드. 파일을 청크하고 청크를 동시에 업로드하는 업로드 전략입니다. XML API 멀티파트 업로드와 달리 동시 복합 업로드는 조합 작업을 사용하며 최종 객체는 복합 객체로 저장됩니다.
스트리밍 업로드. 데이터를 먼저 파일에 저장할 필요 없이 업로드할 수 있는 업로드 방법이며 업로드 시작 시 업로드의 총 크기를 알 수 없을 때 유용합니다.
청크 전송 인코딩 업로드
Transfer-Encoding: chunked
헤더가 포함된 단일 요청 업로드로, 업로드를 여러 개의 순차적인 데이터 청크로 전송할 수 있습니다.
업로드 크기 고려사항
재개 가능한 업로드 또는 XML API 멀티파트 업로드 대신 단일 요청 업로드를 사용할지 여부를 선택할 때 네트워크 장애가 발생하고 업로드를 처음부터 다시 시작해야 하는 경우 손실해야 하는 시간을 고려하세요. 더 빠른 연결은 컷오프 크기가 일반적으로 더 클 수 있습니다.
예를 들어 30초의 시간을 사용할 수 있다고 가정해 보겠습니다.
평균 업로드 속도가 8Mbps인 로컬 시스템에서 업로드하는 경우 파일에 단일 요청 업로드를 30MB로 사용할 수 있습니다.
업로드 속도가 평균 500Mbps를 초과하는 리전 내 서비스에서 업로드하는 경우 파일의 컷오프 크기는 거의 2GB입니다.
다운로드
Cloud Storage에서 다운로드할 때는 항상 동일한 기본 동작, 즉 다운로드할 객체의 특정 부분을 정의하는 선택적 Range
헤더를 포함할 수 있는 HTTP 또는 HTTPS GET
요청이 발생합니다.
이 기본 다운로드 동작을 사용하면 중단된 다운로드를 재개할 수 있으며 슬라이스 객체 다운로드 및 스트리밍 다운로드와 같은 고급 다운로드 전략을 활용할 수 있습니다.
도구별 지원
콘솔
Google Cloud console을 사용할 때 다음 유형의 업로드 및 다운로드를 수행할 수 있습니다.
- 사용자를 대신하여 재개 가능한 업로드가 자동으로 관리되는 단일 요청 업로드
- 간단한 다운로드(일반적으로 인증된 브라우저 다운로드)
명령줄
Google Cloud CLI를 사용할 때 다음 유형의 업로드 및 다운로드를 수행할 수 있습니다.
- 사용자를 대신하여 재개 가능한 업로드가 자동으로 관리되는 단일 요청 업로드
- 스트리밍 업로드
- 동시 복합 업로드
- 간단한 다운로드
- 슬라이스 객체 다운로드
- 스트리밍 다운로드
클라이언트 라이브러리
C++
C++ 클라이언트 라이브러리를 사용할 때 다음 유형의 업로드 및 다운로드를 수행할 수 있습니다.
C#
C# 클라이언트 라이브러리를 사용할 때 다음 유형의 업로드 및 다운로드를 수행할 수 있습니다.
Go
Go 클라이언트 라이브러리를 사용할 때 다음 유형의 업로드 및 다운로드를 수행할 수 있습니다.
Java
자바 클라이언트 라이브러리를 사용할 때 다음 유형의 업로드 및 다운로드를 수행할 수 있습니다.
Node.js
Node.js 클라이언트 라이브러리를 사용할 때 다음 유형의 업로드 및 다운로드를 수행할 수 있습니다.
PHP
PHP 클라이언트 라이브러리를 사용할 때 다음 유형의 업로드 및 다운로드를 수행할 수 있습니다.
Python
Python 클라이언트 라이브러리를 사용할 때 다음 유형의 업로드 및 다운로드를 수행할 수 있습니다.
- 간단한 다운로드
- 슬라이스 객체 다운로드
- 파일 크기에 따라 단일 요청 및 재개 가능한 업로드
- XML API 멀티파트 업로드
Ruby
Ruby 클라이언트 라이브러리를 사용할 때 다음 유형의 업로드 및 다운로드를 수행할 수 있습니다.
Terraform
Terraform을 사용할 때 단일 요청 업로드를 수행할 수 있습니다. 업로드 중인 파일이 16MiB를 초과하면 재개 가능한 업로드가 자동으로 수행됩니다.
REST API
JSON API
JSON API를 사용할 때 다음 유형의 업로드 및 다운로드를 수행할 수 있습니다.
XML API
XML API를 사용할 때 다음 유형의 업로드 및 다운로드를 수행할 수 있습니다.
REST API를 사용하여 업로드하고 다운로드하는 경우 요청 엔드포인트에서 사용 가능한 요청 엔드포인트에 대한 전체 논의를 참조하세요.
다음 단계
- Compute Engine 인스턴스에서 객체 전송
- 데이터에 공개적인 액세스가 가능하도록 설정하기
- 객체 메타데이터 보기 및 수정
- Storage Transfer Service를 사용하여 Cloud Storage로 데이터를 전송하는 방법을 알아봅니다.