オブジェクトのダウンロード

このページでは、Cloud Storage のバケットからオブジェクトをダウンロードする方法について説明します。オブジェクトの概要については、主な用語をご覧ください。

Console

  1. Google Cloud Platform Console で Cloud Storage ブラウザを開きます。
    Cloud Storage ブラウザを開く

  2. バケットのリストで、ダウンロードするオブジェクトが含まれているバケットをクリックし、そのオブジェクトに移動します。

  3. ダウンロードするオブジェクトを右クリックします。

  4. オブジェクトを任意のローカル フォルダに保存します。

    Chrome では、[保存] オプションは [名前を付けてリンク先を保存] と表示されます。

gsutil

gsutil cp コマンドを使用して、[VALUES_IN_BRACKETS] を適切な値に置き換えます。

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

成功した場合は、次の例のようなレスポンスになります。

Operation completed over 1 objects/58.8 KiB.

コードサンプル

C#

Cloud Storage クライアントのインストールと作成の詳細については、Cloud Storage クライアント ライブラリをご覧ください。

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 クライアントのインストールと作成の詳細については、Cloud Storage クライアント ライブラリをご覧ください。

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

Java

Cloud Storage クライアントのインストールと作成の詳細については、Cloud Storage クライアント ライブラリをご覧ください。

private void run(Storage storage, String bucketName, String objectName, Path downloadTo) throws IOException {
  BlobId blobId = BlobId.of(bucketName, objectName);
  Blob blob = storage.get(blobId);
  if (blob == null) {
    System.out.println("No such object");
    return;
  }
  PrintStream writeTo = System.out;
  if (downloadTo != null) {
    writeTo = new PrintStream(new FileOutputStream(downloadTo.toFile()));
  }
  if (blob.getSize() < 1_000_000) {
    // Blob is small read all its content in one request
    byte[] content = blob.getContent();
    writeTo.write(content);
  } else {
    // When Blob size is big or unknown use the blob's channel reader.
    try (ReadChannel reader = blob.reader()) {
      WritableByteChannel channel = Channels.newChannel(writeTo);
      ByteBuffer bytes = ByteBuffer.allocate(64 * 1024);
      while (reader.read(bytes) > 0) {
        bytes.flip();
        channel.write(bytes);
        bytes.clear();
      }
    }
  }
  if (downloadTo == null) {
    writeTo.println();
  } else {
    writeTo.close();
  }
}

Node.js

Cloud Storage クライアントのインストールと作成の詳細については、Cloud Storage クライアント ライブラリをご覧ください。

// 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
storage
  .bucket(bucketName)
  .file(srcFilename)
  .download(options)
  .then(() => {
    console.log(
      `gs://${bucketName}/${srcFilename} downloaded to ${destFilename}.`
    );
  })
  .catch(err => {
    console.error('ERROR:', err);
  });

PHP

Cloud Storage クライアントのインストールと作成の詳細については、Cloud Storage クライアント ライブラリをご覧ください。

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 クライアントのインストールと作成の詳細については、Cloud Storage クライアント ライブラリをご覧ください。

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 クライアントのインストールと作成の詳細については、Cloud Storage クライアント ライブラリをご覧ください。

# 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: 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 を使用して、JSON APIGET Object リクエストで呼び出します。[VALUES_IN_BRACKETS] は適切な値に置き換えます。
    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"

XML API

  1. OAuth 2.0 Playground から承認アクセス トークンを取得します。固有の OAuth 認証情報を使用するように Playground を構成します。
  2. cURL を使用して、XML APIGET Object リクエストで呼び出します。[VALUES_IN_BRACKETS] は適切な値に置き換えます。
    curl -X GET \
        -H "Authorization: Bearer [OAUTH2_TOKEN]" \
        -o "[SAVE_TO_LOCATION]" \
        "https://storage.googleapis.com/[BUCKET_NAME]/[OBJECT_NAME]"

バケットまたはサブディレクトリ内のすべてのオブジェクトを簡単にダウンロードするには、gsutil cp コマンドを使用します。

次のステップ

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

Cloud Storage ドキュメント