이 페이지에서는 Cloud Storage의 버킷에서 영구 스토리지로 객체를 다운로드하는 방법을 보여줍니다. 객체를 메모리로 다운로드할 수도 있습니다.
필요한 역할
객체를 다운로드하는 데 필요한 권한을 얻으려면 관리자에게 버킷에 대한 스토리지 객체 뷰어(roles/storage.objectViewer
) 역할을 부여해 달라고 요청하세요. Google Cloud 콘솔을 사용하려는 경우 관리자에게 대신 버킷의 스토리지 관리자(roles/storage.admin
) 역할을 부여해 달라고 요청하세요.
이러한 역할에는 객체를 다운로드하는 데 필요한 권한이 포함되어 있습니다. 필요한 정확한 권한을 보려면 필수 권한 섹션을 확장하세요.
필수 권한
storage.buckets.list
- 이 권한은 Google Cloud 콘솔을 사용하여 이 페이지의 태스크를 수행할 때만 필요합니다.
storage.objects.get
storage.objects.list
- 이 권한은 Google Cloud 콘솔을 사용하여 이 페이지의 태스크를 수행할 때만 필요합니다.
다른 사전 정의된 역할이나 커스텀 역할을 사용하여 이 권한을 부여받을 수도 있습니다.
버킷에 대한 역할 부여는 버킷에 IAM 사용을 참조하세요.
버킷에서 객체 다운로드
버킷에서 객체를 다운로드하려면 다음 안내를 따르세요.
콘솔
- Google Cloud 콘솔에서 Cloud Storage 버킷 페이지로 이동합니다.
버킷 목록에서 다운로드하려는 객체가 포함된 버킷 이름을 클릭합니다.
객체 탭이 선택된 상태로 버킷 세부정보 페이지가 열립니다.
객체(폴더에 있을 수 있음)로 이동합니다.
객체와 연결된 다운로드 아이콘을 클릭합니다.
브라우저 설정은 객체의 다운로드 위치를 제어합니다.
Google Cloud 콘솔에서 실패한 Cloud Storage 작업에 대한 자세한 오류 정보를 가져오는 방법은 문제 해결을 참조하세요.
명령줄
gcloud storage cp
명령어를 사용합니다.
gcloud storage cp gs://BUCKET_NAME/OBJECT_NAME SAVE_TO_LOCATION
각 항목의 의미는 다음과 같습니다.
BUCKET_NAME
은 다운로드할 객체가 포함된 버킷의 이름입니다. 예를 들면my-bucket
입니다.OBJECT_NAME
은 다운로드할 객체의 이름입니다. 예를 들면pets/dog.png
입니다.SAVE_TO_LOCATION
은 객체를 저장할 로컬 경로입니다. 예를 들면Desktop/Images
입니다.
성공하면 응답은 다음 예와 같습니다.
Completed files 1/1 | 164.3kiB/164.3kiB
다운로드가 완료되기 전에 중단된 경우 동일한 cp
명령어를 실행하여 다운로드가 중단된 지점부터 다운로드를 재개합니다.
클라이언트 라이브러리
C++
자세한 내용은 Cloud Storage C++ API 참고 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
C#
자세한 내용은 Cloud Storage C# API 참고 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Go
자세한 내용은 Cloud Storage Go API 참고 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Java
자세한 내용은 Cloud Storage Java API 참고 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
다음 샘플은 개별 객체를 다운로드합니다.
다음 샘플은 여러 프로세스를 사용하여 여러 객체를 다운로드합니다.
다음 샘플은 여러 프로세스를 사용하여 공통 프리픽스가 있는 모든 객체를 다운로드합니다.
Node.js
자세한 내용은 Cloud Storage Node.js API 참조 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
다음 샘플은 개별 객체를 다운로드합니다.
다음 샘플은 여러 프로세스를 사용하여 여러 객체를 다운로드합니다.
다음 샘플은 여러 프로세스를 사용하여 공통 프리픽스가 있는 모든 객체를 다운로드합니다.
PHP
자세한 내용은 Cloud Storage PHP API 참조 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Python
자세한 내용은 Cloud Storage Python API 참고 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
다음 샘플은 개별 객체를 다운로드합니다.
다음 샘플은 여러 프로세스를 사용하여 여러 객체를 다운로드합니다.
다음 샘플은 여러 프로세스를 사용하여 버킷의 모든 객체를 다운로드합니다.
Ruby
자세한 내용은 Cloud Storage Ruby API 참조 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
REST API
JSON API
Authorization
헤더에 대한 액세스 토큰을 생성하려면 gcloud CLI가 설치 및 초기화되어 있어야 합니다.또는 OAuth 2.0 Playground를 사용하여 액세스 토큰을 만들고
Authorization
헤더에 포함할 수 있습니다.cURL
을 사용하여GET
객체 요청으로 JSON API를 호출합니다.curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -o "SAVE_TO_LOCATION" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o/OBJECT_NAME?alt=media"
각 항목의 의미는 다음과 같습니다.
SAVE_TO_LOCATION
은 객체를 저장할 위치의 경로입니다. 예를 들면Desktop/dog.png
입니다.BUCKET_NAME
은 다운로드할 객체가 포함된 버킷의 이름입니다. 예:my-bucket
OBJECT_NAME
은 다운로드할 객체의 URL 인코딩 이름입니다. 예를 들어pets/dog.png
는pets%2Fdog.png
로 URL 인코딩됩니다.
XML API
Authorization
헤더에 대한 액세스 토큰을 생성하려면 gcloud CLI가 설치 및 초기화되어 있어야 합니다.또는 OAuth 2.0 Playground를 사용하여 액세스 토큰을 만들고
Authorization
헤더에 포함할 수 있습니다.cURL
을 사용하여GET
객체 요청으로 XML API를 호출합니다.curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -o "SAVE_TO_LOCATION" \ "https://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME"
각 항목의 의미는 다음과 같습니다.
SAVE_TO_LOCATION
은 객체를 저장할 위치의 경로입니다. 예를 들면Desktop/dog.png
입니다.BUCKET_NAME
은 다운로드할 객체가 포함된 버킷의 이름입니다. 예:my-bucket
OBJECT_NAME
은 다운로드할 객체의 URL 인코딩 이름입니다. 예를 들어pets/dog.png
는pets%2Fdog.png
로 URL 인코딩됩니다.
버킷이나 하위 디렉터리에 있는 모든 객체를 보다 효율적으로 다운로드하려면 gcloud storage cp
명령어 또는 클라이언트 라이브러리를 사용합니다.
객체 일부 다운로드
다운로드가 중단되면 나머지 객체 부분만 요청하여 중단한 부분부터 계속할 수 있습니다. 다음 안내를 수행하여 객체 일부를 다운로드합니다.
콘솔
Google Cloud Console에서는 객체 일부를 다운로드할 수 없습니다. 대신 gcloud CLI를 사용하세요.
명령줄
Google Cloud CLI는 스트리밍 전송을 수행하는 경우를 제외하고 중단된 다운로드를 자동으로 계속하려고 합니다. 다운로드가 중단되면 부분적으로 다운로드된 임시 파일이 대상 계층 구조에 표시됩니다. 같은 cp
명령어를 실행하여 중단된 지점부터 다운로드를 계속합니다.
다운로드가 완료되면 임시 파일이 삭제되고 다운로드한 콘텐츠로 교체됩니다. 임시 파일은 구성 가능한 위치(기본적으로 .config/gcloud/surface_data/storage/tracker_files
의 사용자 홈 디렉터리)에 저장됩니다. gcloud config get storage/tracker_files_directory
를 실행하여 임시 파일이 저장되는 위치를 변경하거나 볼 수 있습니다.
클라이언트 라이브러리
C++
자세한 내용은 Cloud Storage C++ API 참고 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
C#
자세한 내용은 Cloud Storage C# API 참고 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Go
자세한 내용은 Cloud Storage Go API 참고 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Java
자세한 내용은 Cloud Storage Java API 참고 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Node.js
자세한 내용은 Cloud Storage Node.js API 참고 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
PHP
자세한 내용은 Cloud Storage PHP API 참고 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Python
자세한 내용은 Cloud Storage Python API 참고 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Ruby
자세한 내용은 Cloud Storage Ruby API 참고 문서를 확인하세요.
Cloud Storage에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
REST API
JSON API
요청의 Range
헤더를 사용하여 객체 일부를 다운로드합니다.
Authorization
헤더에 대한 액세스 토큰을 생성하려면 gcloud CLI가 설치 및 초기화되어 있어야 합니다.또는 OAuth 2.0 Playground를 사용하여 액세스 토큰을 만들고
Authorization
헤더에 포함할 수 있습니다.cURL
을 사용하여GET
객체 요청으로 JSON API를 호출합니다.curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Range: bytes=FIRST_BYTE-LAST_BYTE" \ -o "SAVE_TO_LOCATION" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o/OBJECT_NAME?alt=media"
각 항목의 의미는 다음과 같습니다.
FIRST_BYTE
는 다운로드할 바이트 범위의 첫 번째 바이트입니다. 예를 들면1000
입니다.LAST_BYTE
는 다운로드할 바이트 범위의 마지막 바이트입니다. 예를 들면1999
입니다.SAVE_TO_LOCATION
은 객체를 저장할 위치의 경로입니다. 예를 들면Desktop/dog.png
입니다.BUCKET_NAME
은 다운로드할 객체가 포함된 버킷의 이름입니다. 예:my-bucket
OBJECT_NAME
은 다운로드할 객체의 URL 인코딩 이름입니다. 예를 들어pets/dog.png
는pets%2Fdog.png
로 URL 인코딩됩니다.
XML API
요청의 Range
헤더를 사용하여 객체 일부를 다운로드합니다.
Authorization
헤더에 대한 액세스 토큰을 생성하려면 gcloud CLI가 설치 및 초기화되어 있어야 합니다.또는 OAuth 2.0 Playground를 사용하여 액세스 토큰을 만들고
Authorization
헤더에 포함할 수 있습니다.cURL
을 사용하여GET
객체 요청으로 XML API를 호출합니다.curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Range: bytes=FIRST_BYTE-LAST_BYTE" \ -o "SAVE_TO_LOCATION" \ "https://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME"
각 항목의 의미는 다음과 같습니다.
FIRST_BYTE
는 다운로드할 바이트 범위의 첫 번째 바이트입니다. 예를 들면1000
입니다.LAST_BYTE
는 다운로드할 바이트 범위의 마지막 바이트입니다. 예를 들면1999
입니다.SAVE_TO_LOCATION
은 객체를 저장할 위치의 경로입니다. 예를 들면$HOME/Desktop/dog.png
입니다.BUCKET_NAME
은 다운로드할 객체가 포함된 버킷의 이름입니다. 예:my-bucket
OBJECT_NAME
은 다운로드할 객체의 URL 인코딩 이름입니다. 예를 들어pets/dog.png
는pets%2Fdog.png
로 URL 인코딩됩니다.
다음 단계
- 고급 다운로드 전략을 포함하여 업로드 및 다운로드 개념 개요 읽어보기
- 클라우드 제공업체 또는 기타 온라인 소스에서 데이터 전송(예: URL 목록)
- Compute Engine 인스턴스로 객체 전송
- 요청자에게 Cloud Storage 액세스 요금을 청구하는 방법 알아보기
- Cloud Storage가 압축되지 않은 상태로 gzip 파일을 제공하는 방법 알아보기
직접 사용해 보기
Google Cloud를 처음 사용하는 경우 계정을 만들어 실제 시나리오에서 Cloud Storage의 성능을 평가할 수 있습니다. 신규 고객에게는 워크로드를 실행, 테스트, 배포하는 데 사용할 수 있는 $300의 무료 크레딧이 제공됩니다.
Cloud Storage 무료로 사용해 보기