Télécharger des objets

Cette page explique comment télécharger des objets depuis vos buckets dans Cloud Storage. Pour obtenir une présentation des objets, consultez la page Termes clés.

Console

  1. Ouvrez le navigateur Cloud Storage dans Google Cloud Console.
    Ouvrir le navigateur Cloud Storage
  2. Dans la liste des buckets, cliquez sur le nom du bucket contenant l'objet que vous souhaitez télécharger, puis accédez à cet objet.

  3. Cliquez sur le menu Autres actions () associé à l'objet.

  4. Sélectionnez Télécharger.

gsutil

Exécutez la commande gsutil cp :

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

Où :

  • [BUCKET_NAME] correspond au nom du bucket contenant l'objet que vous téléchargez. Exemple : my-bucket.

  • [OBJECT_NAME] correspond au nom de l'objet que vous téléchargez. Exemple :pets/dog.png

  • [SAVE_TO_LOCATION] correspond au chemin d'accès local où vous enregistrez l'objet. Exemple :Desktop/Images

Si l'opération réussit, la réponse se présente comme suit :

Operation completed over 1 objects/58.8 KiB.

Exemples de code

C++

Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage C++.

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#

Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage C#.

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

Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Go.

ctx := context.Background()

    ctx, cancel := context.WithTimeout(ctx, time.Second*50)
    defer cancel()
    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

Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Java.

// 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

Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Node.js.

/**
     * 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';

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

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

    async function downloadFile() {
      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}.`
      );
    }

    downloadFile().catch(console.error);

PHP

Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage PHP.

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

Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Python.

from google.cloud import storage

    def download_blob(bucket_name, source_blob_name, destination_file_name):
        """Downloads a blob from the bucket."""
        # bucket_name = "your-bucket-name"
        # source_blob_name = "storage-object-name"
        # destination_file_name = "local/path/to/file"

        storage_client = storage.Client()

        bucket = storage_client.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

Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Ruby.

# 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}"

API REST

API JSON

  1. Obtenez un jeton d'autorisation d'accès sur la page OAuth 2.0 Playground. Configurez Playground pour utiliser vos propres identifiants OAuth.
  2. Utilisez cURL pour appeler l'API JSON avec une requête GET Object :

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

    Où :

    • [OAUTH2_TOKEN] correspond au jeton d'accès que vous avez généré à l'étape 1.
    • [SAVE_TO_LOCATION] correspond au chemin d'accès de l'emplacement où vous souhaitez enregistrer votre objet. Exemple :Desktop/dog.png
    • [BUCKET_NAME] correspond au nom du bucket contenant l'objet que vous téléchargez. Exemple :my-bucket
    • [OBJECT_NAME] correspond au nom de l'objet que vous téléchargez. Exemple : pets/dog.png. Pour savoir comment encoder les noms d'objet en URL de sorte que leur chemin soit sécurisé, consultez la section Encoder des parties de chemin d'URI.

API XML

  1. Obtenez un jeton d'autorisation d'accès sur la page OAuth 2.0 Playground. Configurez Playground pour utiliser vos propres identifiants OAuth.
  2. Utilisez cURL pour appeler l'API XML avec une requête GET Object :

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

    Où :

    • [OAUTH2_TOKEN] correspond au jeton d'accès que vous avez généré à l'étape 1.
    • [SAVE_TO_LOCATION] correspond au chemin d'accès de l'emplacement où vous souhaitez enregistrer votre objet. Exemple :Desktop/dog.png
    • [BUCKET_NAME] correspond au nom du bucket contenant l'objet que vous téléchargez. Exemple :my-bucket
    • [OBJECT_NAME] correspond au nom de l'objet que vous téléchargez. Exemple : pets/dog.png.

Pour télécharger facilement tous les objets d'un bucket ou d'un sous-répertoire, exécutez la commande gsutil cp.

Étape suivante