이 페이지에서는 Cloud Storage에서 객체를 읽고 다운로드하는 것과 관련된 개념을 설명합니다.
객체 읽기
객체 읽기는 열린 네트워크 연결을 통해 메모리에서 직접 객체 데이터 또는 특정 바이트 범위를 스트리밍하거나, 사용하거나, 검사하는 것을 말합니다. 검색된 페이로드는 로컬에 저장되지 않고 임시이며 애플리케이션 메모리 스트림, 버퍼, 파이프라인 또는 CPU/GPU 메모리에 직접 저장됩니다. 객체 읽기는 Pytorch 또는 Jax와 같은 인공지능 (AI) 및 머신러닝 (ML) 프레임워크로 학습 데이터 세트와 텐서 배치 스트리밍과 같은 고성능, 처리량 집약적 워크로드에 적합합니다.
다음 목록에서는 Cloud Storage에서 사용할 수 있는 객체 읽기 유형을 설명합니다.
객체를 메모리로 읽어들이거나 대화형 객체 읽기: 데이터를 대화형으로 또는 메모리로 사용하는 메서드입니다. 클라이언트는 전체 객체를 가져와 모든 바이트를 연속 변수, 바이트 배열 또는 메모리 내 문자열에 로드합니다.
스트리밍 읽기: 전체 전송이 완료될 때까지 기다리지 않고 네트워크에서 수신되는 대로 바이트 스트림으로 데이터를 직접 사용하는 방법입니다.
객체 다운로드
객체 다운로드는 Cloud Storage에서 로컬 파일 시스템, 디스크 또는 대상 저장 장치의 영구 파일로 객체 데이터를 전송하는 엔드 투 엔드 작업입니다. 인메모리 스트리밍 읽기와 달리 다운로드에는 원격 바이트 가져오기와 로컬 스토리지에 커밋이 모두 포함됩니다. 객체 다운로드는 주로 범용 파일 관리, 로컬 보관, 데이터 백업, 오프라인 유틸리티 사용에 적합합니다.
REST API를 사용하는 경우 다운로드는 HTTP 또는 HTTPS GET 요청을 사용하여 실행됩니다. 이 요청에는 영구 또는 로컬 저장소에 다운로드할 객체의 특정 부분을 정의하는 선택적 Range 헤더가 포함될 수 있습니다. Range 헤더를 사용하여 중단된 다운로드를 재개할 수도 있습니다. gRPC를 사용하는 경우 다운로드에서 storage.v2.Storage/ReadObject 또는 BidiReadObject 스트림을 사용합니다.
다음 목록에서는 Cloud Storage에서 사용할 수 있는 객체 다운로드 유형을 설명합니다.
간단한 다운로드: 가장 기본적인 형태의 객체 다운로드입니다. 클라이언트는 전체 객체 또는 지정된 바이트 범위를 하나의 연속된 전송으로 가져오기 위해 단일 요청을 전송합니다.
슬라이스 객체 다운로드: 단일 대형 객체를 여러 개의 작은 '슬라이스'('청크'라고도 함)로 나누는 고성능 전략입니다. 클라이언트는 여러 독립적인 동시 요청을 사용하여 이러한 슬라이스를 병렬로 다운로드한 다음 슬라이스를 로컬에서 단일 파일로 재조립합니다.
객체 읽기 및 다운로드를 위한 도구 지원
콘솔
Google Cloud 콘솔을 사용하는 경우 다음 객체 읽기 및 다운로드를 수행할 수 있습니다.
- 대화형 객체 읽기
- 간단한 다운로드(일반적으로 인증된 브라우저 다운로드)
명령줄
Google Cloud CLI를 사용할 때 다음 객체 읽기 및 다운로드를 수행할 수 있습니다.
클라이언트 라이브러리
C++
C++ 클라이언트 라이브러리를 사용할 때 다음 유형의 읽기 및 다운로드를 수행할 수 있습니다.
C#
C# 클라이언트 라이브러리를 사용할 때 다음 유형의 읽기 및 다운로드를 수행할 수 있습니다.
Go
Go 클라이언트 라이브러리를 사용할 때 다음 유형의 읽기 및 다운로드를 수행할 수 있습니다.
자바
Java 클라이언트 라이브러리를 사용할 때 다음 유형의 읽기 및 다운로드를 수행할 수 있습니다.
Node.js
Node.js 클라이언트 라이브러리를 사용할 때 다음 유형의 읽기 및 다운로드를 수행할 수 있습니다.
PHP
PHP 클라이언트 라이브러리를 사용할 때 다음 유형의 읽기 및 다운로드를 수행할 수 있습니다.
Python
Python 클라이언트 라이브러리를 사용할 때 다음 유형의 읽기 및 다운로드를 수행할 수 있습니다.
Ruby
Ruby 클라이언트 라이브러리를 사용할 때 다음 유형의 읽기 및 다운로드를 수행할 수 있습니다.
REST API
REST API를 사용하여 객체를 다운로드하는 경우 요청 엔드포인트에서 사용 가능한 요청 엔드포인트에 대한 전체 논의를 참고하세요.
JSON API
JSON API를 사용할 때 다음 유형의 다운로드를 수행할 수 있습니다.
XML API
XML API를 사용할 때 다음 유형의 다운로드를 수행할 수 있습니다.
다음 단계
- 데이터에 공개적인 액세스가 가능하도록 설정하기
- 객체 다운로드에 체크섬이 사용되는 방식 알아보기
- 객체 업로드에 대해 알아봅니다.
- 객체 메타데이터 보기 및 수정
- Storage Transfer Service를 사용하여 Cloud Storage로 데이터를 전송하는 방법 알아보기
- Compute Engine 인스턴스에서 객체 전송