객체 다운로드

이 페이지에서는 Cloud Storage 버킷에서 객체를 다운로드하는 방법을 설명합니다. 객체에 대한 개요는 핵심 용어를 참조하세요.

Console

  1. Google Cloud Platform Console에서 Cloud Storage 브라우저를 엽니다.
    Cloud Storage 브라우저 열기
  2. 버킷 목록에서 다운로드할 객체를 포함하는 버킷의 이름을 클릭하고 객체를 탐색합니다.

  3. 해당 객체의 드롭다운 메뉴를 클릭합니다.

    드롭다운 메뉴는 오른쪽 끝에 세로로 나열된 3개의 점으로 나타납니다.

  4. 다운로드를 선택합니다.

gsutil

gsutil cp 명령어를 사용합니다.

gsutil cp gs://[BUCKET_NAME]/[OBJECT_NAME] [SAVE_TO_LOCATION]

각 항목의 의미는 다음과 같습니다.

  • [BUCKET_NAME]은 다운로드할 객체가 포함된 버킷의 이름입니다. 예를 들면 my-bucket입니다.

  • [OBJECT_NAME]은 다운로드할 객체의 이름입니다. 예를 들면 pets/dog.png입니다.

  • [SAVE_TO_LOCATION]은 객체를 저장할 로컬 경로입니다. 예를 들면 Desktop/Images입니다.

성공하면 응답은 다음 예시와 같습니다.

Operation completed over 1 objects/58.8 KiB.

코드 샘플

C++

자세한 내용은 Cloud Storage C++ API 참조 문서를 확인하세요.

namespace gcs = google::cloud::storage;
[](gcs::Client client, std::string bucket_name, std::string object_name) {
  gcs::ObjectReadStream stream = client.ReadObject(bucket_name, object_name);

  int count = 0;
  std::string line;
  while (std::getline(stream, line, '\n')) {
    ++count;
  }

  std::cout << "The object has " << count << " lines\n";
}

C#

자세한 내용은 Cloud Storage C# API 참조 문서를 확인하세요.

private void DownloadObject(string bucketName, string objectName,
    string localPath = null)
{
    var storage = StorageClient.Create();
    localPath = localPath ?? Path.GetFileName(objectName);
    using (var outputFile = File.OpenWrite(localPath))
    {
        storage.DownloadObject(bucketName, objectName, outputFile);
    }
    Console.WriteLine($"downloaded {objectName} to {localPath}.");
}

Go

자세한 내용은 Cloud Storage Go API 참조 문서를 확인하세요.

rc, err := client.Bucket(bucket).Object(object).NewReader(ctx)
if err != nil {
	return nil, err
}
defer rc.Close()

data, err := ioutil.ReadAll(rc)
if err != nil {
	return nil, err
}
return data, nil

자바

자세한 내용은 Cloud Storage 자바 API 참조 문서를 확인하세요.

// The name of the bucket to access
// String bucketName = "my-bucket";

// The name of the remote file to download
// String srcFilename = "file.txt";

// The path to which the file should be downloaded
// Path destFilePath = Paths.get("/local/path/to/file.txt");

// Instantiate a Google Cloud Storage client
Storage storage = StorageOptions.getDefaultInstance().getService();

// Get specific file from specified bucket
Blob blob = storage.get(BlobId.of(bucketName, srcFilename));

// Download file to specified path
blob.downloadTo(destFilePath);

Node.js

자세한 내용은 Cloud Storage Node.js API 참조 문서를 확인하세요.

// Imports the Google Cloud client library
const {Storage} = require('@google-cloud/storage');

// Creates a client
const storage = new Storage();

/**
 * TODO(developer): Uncomment the following lines before running the sample.
 */
// const bucketName = 'Name of a bucket, e.g. my-bucket';
// const srcFilename = 'Remote file to download, e.g. file.txt';
// const destFilename = 'Local destination for file, e.g. ./local/path/to/file.txt';

const options = {
  // The path to which the file should be downloaded, e.g. "./file.txt"
  destination: destFilename,
};

// Downloads the file
await storage
  .bucket(bucketName)
  .file(srcFilename)
  .download(options);

console.log(
  `gs://${bucketName}/${srcFilename} downloaded to ${destFilename}.`
);

PHP

자세한 내용은 Cloud Storage PHP API 참조 문서를 확인하세요.

use Google\Cloud\Storage\StorageClient;

/**
 * Download an object from Cloud Storage and save it as a local file.
 *
 * @param string $bucketName the name of your Google Cloud bucket.
 * @param string $objectName the name of your Google Cloud object.
 * @param string $destination the local destination to save the encrypted object.
 *
 * @return void
 */
function download_object($bucketName, $objectName, $destination)
{
    $storage = new StorageClient();
    $bucket = $storage->bucket($bucketName);
    $object = $bucket->object($objectName);
    $object->downloadToFile($destination);
    printf('Downloaded gs://%s/%s to %s' . PHP_EOL,
        $bucketName, $objectName, basename($destination));
}

Python

자세한 내용은 Cloud Storage Python API 참조 문서를 확인하세요.

def download_blob(bucket_name, source_blob_name, destination_file_name):
    """Downloads a blob from the bucket."""
    storage_client = storage.Client()
    bucket = storage_client.get_bucket(bucket_name)
    blob = bucket.blob(source_blob_name)

    blob.download_to_filename(destination_file_name)

    print('Blob {} downloaded to {}.'.format(
        source_blob_name,
        destination_file_name))

Ruby

자세한 내용은 Cloud Storage Ruby API 참조 문서를 확인하세요.

# project_id  = "Your Google Cloud project ID"
# bucket_name = "Your Google Cloud Storage bucket name"
# file_name   = "Name of file in Google Cloud Storage to download locally"
# local_path  = "Destination path for downloaded file"

require "google/cloud/storage"

storage = Google::Cloud::Storage.new project_id: project_id
bucket  = storage.bucket bucket_name
file    = bucket.file file_name

file.download local_path

puts "Downloaded #{file.name}"

REST API

JSON API

  1. OAuth 2.0 Playground에서 승인 액세스 토큰을 가져옵니다. OAuth 사용자 인증 정보를 사용하도록 Playground를 구성합니다.
  2. cURL을 사용하여 GET 객체 요청으로 JSON API를 호출합니다.

    curl -X GET \
      -H "Authorization: Bearer [OAUTH2_TOKEN]" \
      -o "[SAVE_TO_LOCATION]" \
      "https://www.googleapis.com/storage/v1/b/[BUCKET_NAME]/o/[OBJECT_NAME]?alt=media"

    각 항목의 의미는 다음과 같습니다.

    • [OAUTH2_TOKEN]은 1단계에서 생성한 액세스 토큰입니다.
    • [SAVE_TO_LOCATION]은 객체를 저장할 로컬 경로입니다. 예를 들면 Desktop/Images입니다.
    • [BUCKET_NAME]은 다운로드할 객체가 포함된 버킷의 이름입니다. 예를 들면 my-bucket입니다.
    • [OBJECT_NAME]은 다운로드할 객체의 이름입니다. 예를 들면 pets/dog.png입니다. 경로의 안전성을 위해 객체 이름을 URL로 인코딩하는 방법에 대한 자세한 내용은 URI 경로 부분 인코딩을 참조하세요.

XML API

  1. OAuth 2.0 Playground에서 승인 액세스 토큰을 가져옵니다. OAuth 사용자 인증 정보를 사용하도록 Playground를 구성합니다.
  2. cURL을 사용하여 GET 객체 요청으로 XML API를 호출합니다.

    curl -X GET \
      -H "Authorization: Bearer [OAUTH2_TOKEN]" \
      -o "[SAVE_TO_LOCATION]" \
      "https://storage.googleapis.com/[BUCKET_NAME]/[OBJECT_NAME]"

    각 항목의 의미는 다음과 같습니다.

    • [OAUTH2_TOKEN]은 1단계에서 생성한 액세스 토큰입니다.
    • [SAVE_TO_LOCATION]은 객체를 저장할 로컬 경로입니다. 예를 들면 Desktop/Images입니다.
    • [BUCKET_NAME]은 다운로드할 객체가 포함된 버킷의 이름입니다. 예를 들면 my-bucket입니다.
    • [OBJECT_NAME]은 다운로드할 객체의 이름입니다. 예를 들면 pets/dog.png입니다.

버킷이나 하위 디렉터리에 있는 모든 객체를 간편하게 다운로드하려면 gsutil cp 명령어를 사용합니다.

다음 단계

이 페이지가 도움이 되었나요? 평가를 부탁드립니다.

다음에 대한 의견 보내기...

도움이 필요하시나요? 지원 페이지를 방문하세요.