Objekte auflisten

Auf dieser Seite wird gezeigt, wie Sie die in Ihren Cloud Storage-Buckets gespeicherten Objekte auflisten. Diese Objekte werden in der Liste lexikografisch nach Name sortiert aufgeführt. Eine Übersicht über Buckets und Objekte finden Sie in der Liste der wichtigen Begriffe.

So listen Sie die Objekte in einem Bucket auf:

Console

  1. Öffnen Sie in der Google Cloud Console den Cloud Storage-Browser.
    Zum Cloud Storage-Browser
  2. Wählen Sie in der Bucket-Liste den Bucket aus, dessen Inhalt Sie darstellen möchten.

  3. Sie können optional mit dem Feld Nach Namenspräfix filtern die Suchergebnisse in der Bucket-Liste auf Objekte mit einem bestimmten Präfix beschränken.

gsutil

Verwenden Sie den Befehl gsutil ls mit dem Flag -r:

gsutil ls -r gs://[BUCKET_NAME]/**

Dabei gilt:

  • [BUCKET_NAME] ist der Name des Buckets, dessen Objekte Sie auflisten möchten. Beispiel: my-bucket.

Die Antwort sieht in etwa so aus:

gs://[BUCKET_NAME]/[OBJECT_NAME1]
    gs://[BUCKET_NAME]/[OBJECT_NAME2]
    gs://[BUCKET_NAME]/[OBJECT_NAME3]
    ...
    

Codebeispiele

C++

Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage C++ API.

Im folgenden Beispiel werden alle Objekte eines Buckets aufgelistet:

namespace gcs = google::cloud::storage;
    [](gcs::Client client, std::string bucket_name) {
      for (auto&& object_metadata : client.ListObjects(bucket_name)) {
        if (!object_metadata) {
          throw std::runtime_error(object_metadata.status().message());
        }

        std::cout << "bucket_name=" << object_metadata->bucket()
                  << ", object_name=" << object_metadata->name() << "\n";
      }
    }

Im folgenden Beispiel werden Objekte mit einem bestimmten Präfix aufgelistet:

namespace gcs = google::cloud::storage;
    [](gcs::Client client, std::string bucket_name, std::string bucket_prefix) {
      for (auto&& object_metadata :
           client.ListObjects(bucket_name, gcs::Prefix(bucket_prefix))) {
        if (!object_metadata) {
          throw std::runtime_error(object_metadata.status().message());
        }

        std::cout << "bucket_name=" << object_metadata->bucket()
                  << ", object_name=" << object_metadata->name() << "\n";
      }
    }

C#

Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage C# API.

Im folgenden Beispiel werden alle Objekte eines Buckets aufgelistet:

private void ListObjects(string bucketName)
    {
        var storage = StorageClient.Create();
        foreach (var storageObject in storage.ListObjects(bucketName, ""))
        {
            Console.WriteLine(storageObject.Name);
        }
    }

Im folgenden Beispiel werden Objekte mit einem bestimmten Präfix aufgelistet:

private void ListObjects(string bucketName, string prefix,
        string delimiter)
    {
        var storage = StorageClient.Create();
        var options = new ListObjectsOptions() { Delimiter = delimiter };
        foreach (var storageObject in storage.ListObjects(
            bucketName, prefix, options))
        {
            Console.WriteLine(storageObject.Name);
        }
    }

Go

Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Go API.

Im folgenden Beispiel werden alle Objekte eines Buckets aufgelistet:

ctx := context.Background()

    ctx, cancel := context.WithTimeout(ctx, time.Second*10)
    defer cancel()
    it := client.Bucket(bucket).Objects(ctx, nil)
    for {
    	attrs, err := it.Next()
    	if err == iterator.Done {
    		break
    	}
    	if err != nil {
    		return err
    	}
    	fmt.Fprintln(w, attrs.Name)
    }

Im folgenden Beispiel werden Objekte mit einem bestimmten Präfix aufgelistet:

// Prefixes and delimiters can be used to emulate directory listings.
    // Prefixes can be used filter objects starting with prefix.
    // The delimiter argument can be used to restrict the results to only the
    // objects in the given "directory". Without the delimiter, the entire  tree
    // under the prefix is returned.
    //
    // For example, given these blobs:
    //   /a/1.txt
    //   /a/b/2.txt
    //
    // If you just specify prefix="a/", you'll get back:
    //   /a/1.txt
    //   /a/b/2.txt
    //
    // However, if you specify prefix="a/" and delim="/", you'll get back:
    //   /a/1.txt
    ctx := context.Background()

    ctx, cancel := context.WithTimeout(ctx, time.Second*10)
    defer cancel()
    it := client.Bucket(bucket).Objects(ctx, &storage.Query{
    	Prefix:    prefix,
    	Delimiter: delim,
    })
    for {
    	attrs, err := it.Next()
    	if err == iterator.Done {
    		break
    	}
    	if err != nil {
    		return err
    	}
    	fmt.Fprintln(w, attrs.Name)
    }

Java

Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Java API.

Im folgenden Beispiel werden alle Objekte eines Buckets aufgelistet:

Page<Blob> blobs = bucket.list();
    for (Blob blob : blobs.iterateAll()) {
      // do something with the blob
    }

Im folgenden Beispiel werden Objekte mit einem bestimmten Präfix aufgelistet:

Page<Blob> blobs =
        storage.list(
            bucketName, BlobListOption.currentDirectory(), BlobListOption.prefix(directory));
    for (Blob blob : blobs.iterateAll()) {
      // do something with the blob
    }

Node.js

Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Node.js API.

Im folgenden Beispiel werden alle Objekte eines Buckets aufgelistet:

/**
     * TODO(developer): Uncomment the following line before running the sample.
     */
    // const bucketName = 'Name of a bucket, e.g. my-bucket';

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

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

    async function listFiles() {
      // Lists files in the bucket
      const [files] = await storage.bucket(bucketName).getFiles();

      console.log('Files:');
      files.forEach(file => {
        console.log(file.name);
      });
    }

    listFiles().catch(console.error);

Im folgenden Beispiel werden Objekte mit einem bestimmten Präfix aufgelistet:

/**
     * TODO(developer): Uncomment the following lines before running the sample.
     */
    // const bucketName = 'Name of a bucket, e.g. my-bucket';
    // const prefix = 'Prefix by which to filter, e.g. public/';
    // const delimiter = 'Delimiter to use, e.g. /';

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

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

    async function listFilesByPrefix() {
      /**
       * This can be used to list all blobs in a "folder", e.g. "public/".
       *
       * The delimiter argument can be used to restrict the results to only the
       * "files" in the given "folder". Without the delimiter, the entire tree under
       * the prefix is returned. For example, given these blobs:
       *
       *   /a/1.txt
       *   /a/b/2.txt
       *
       * If you just specify prefix = '/a', you'll get back:
       *
       *   /a/1.txt
       *   /a/b/2.txt
       *
       * However, if you specify prefix='/a' and delimiter='/', you'll get back:
       *
       *   /a/1.txt
       */
      const options = {
        prefix: prefix,
      };

      if (delimiter) {
        options.delimiter = delimiter;
      }

      // Lists files in the bucket, filtered by a prefix
      const [files] = await storage.bucket(bucketName).getFiles(options);

      console.log('Files:');
      files.forEach(file => {
        console.log(file.name);
      });
    }

    listFilesByPrefix().catch(console.error);

PHP

Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage PHP API.

Im folgenden Beispiel werden alle Objekte eines Buckets aufgelistet:

use Google\Cloud\Storage\StorageClient;

    /**
     * List Cloud Storage bucket objects.
     *
     * @param string $bucketName the name of your Cloud Storage bucket.
     *
     * @return void
     */
    function list_objects($bucketName)
    {
        $storage = new StorageClient();
        $bucket = $storage->bucket($bucketName);
        foreach ($bucket->objects() as $object) {
            printf('Object: %s' . PHP_EOL, $object->name());
        }
    }

Im folgenden Beispiel werden Objekte mit einem bestimmten Präfix aufgelistet:

use Google\Cloud\Storage\StorageClient;

    /**
     * List Cloud Storage bucket objects with specified prefix.
     *
     * @param string $bucketName the name of your Cloud Storage bucket.
     *
     * @return void
     */
    function list_objects_with_prefix($bucketName, $prefix)
    {
        $storage = new StorageClient();
        $bucket = $storage->bucket($bucketName);
        $options = ['prefix' => $prefix];
        foreach ($bucket->objects($options) as $object) {
            printf('Object: %s' . PHP_EOL, $object->name());
        }
    }

Python

Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Python API.

Im folgenden Beispiel werden alle Objekte eines Buckets aufgelistet:

from google.cloud import storage

    def list_blobs(bucket_name):
        """Lists all the blobs in the bucket."""
        # bucket_name = "your-bucket-name"

        storage_client = storage.Client()

        # Note: Client.list_blobs requires at least package version 1.17.0.
        blobs = storage_client.list_blobs(bucket_name)

        for blob in blobs:
            print(blob.name)

    

Im folgenden Beispiel werden Objekte mit einem bestimmten Präfix aufgelistet:

from google.cloud import storage

    def list_blobs_with_prefix(bucket_name, prefix, delimiter=None):
        """Lists all the blobs in the bucket that begin with the prefix.

        This can be used to list all blobs in a "folder", e.g. "public/".

        The delimiter argument can be used to restrict the results to only the
        "files" in the given "folder". Without the delimiter, the entire tree under
        the prefix is returned. For example, given these blobs:

            a/1.txt
            a/b/2.txt

        If you just specify prefix = 'a', you'll get back:

            a/1.txt
            a/b/2.txt

        However, if you specify prefix='a' and delimiter='/', you'll get back:

            a/1.txt

        Additionally, the same request will return blobs.prefixes populated with:

            a/b/
        """

        storage_client = storage.Client()

        # Note: Client.list_blobs requires at least package version 1.17.0.
        blobs = storage_client.list_blobs(
            bucket_name, prefix=prefix, delimiter=delimiter
        )

        print("Blobs:")
        for blob in blobs:
            print(blob.name)

        if delimiter:
            print("Prefixes:")
            for prefix in blobs.prefixes:
                print(prefix)

    

Ruby

Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Ruby API.

Im folgenden Beispiel werden alle Objekte eines Buckets aufgelistet:

# project_id  = "Your Google Cloud project ID"
    # bucket_name = "Your Google Cloud Storage bucket name"

    require "google/cloud/storage"

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

    bucket.files.each do |file|
      puts file.name
    end

Im folgenden Beispiel werden Objekte mit einem bestimmten Präfix aufgelistet:

# project_id  = "Your Google Cloud project ID"
    # bucket_name = "Your Google Cloud Storage bucket name"
    # prefix      = "Filter results to files whose names begin with this prefix"

    require "google/cloud/storage"

    storage = Google::Cloud::Storage.new project_id: project_id
    bucket  = storage.bucket bucket_name
    files   = bucket.files prefix: prefix

    files.each do |file|
      puts file.name
    end

REST APIs

JSON API

  1. Rufen Sie ein Zugriffstoken für die Autorisierung aus dem OAuth 2.0 Playground ab. Konfigurieren Sie den Playground so, dass Ihre eigenen OAuth-Anmeldedaten verwendet werden.
  2. Verwenden Sie cURL, um die JSON API mit einer GET-Bucket-Anfrage aufzurufen:

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

    Dabei gilt:

    • [ACCESS_TOKEN] ist das Zugriffstoken, das Sie in Schritt 1 generiert haben.
    • [BUCKET_NAME] ist der Name des Buckets, dessen Objekte Sie auflisten möchten. Beispiel: my-bucket.

    Sie können mit dem Abfragestringparameter prefix=[PREFIX] die Ergebnisse auf Buckets mit dem angegebenen Präfix beschränken.

XML API

  1. Rufen Sie ein Zugriffstoken für die Autorisierung aus dem OAuth 2.0 Playground ab. Konfigurieren Sie den Playground so, dass Ihre eigenen OAuth-Anmeldedaten verwendet werden.
  2. Verwenden Sie cURL, um die XML API mit einer GET-Bucket-Anfrage aufzurufen:

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

    Dabei gilt:

    • [ACCESS_TOKEN] ist das Zugriffstoken, das Sie in Schritt 1 generiert haben.
    • [BUCKET_NAME] ist der Name des Buckets, dessen Objekte Sie auflisten möchten. Beispiel: my-bucket.

    Sie können mit dem Abfragestringparameter prefix=[PREFIX] die Ergebnisse auf Buckets mit dem angegebenen Präfix beschränken.

Weitere Informationen