Objekte auflisten

Auf dieser Seite erfahren Sie, wie Sie die in Ihren Cloud Storage-Buckets gespeicherten Objekte auflisten. Diese werden in der Liste lexikografisch nach dem Namen sortiert aufgeführt.

Hinweise

Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Storage-Objekt-Betrachter (roles/storage.objectViewer) für den Bucket zuzuweisen, der die aufzulistenden Objekte enthält, um die Berechtigungen zu erhalten, die Sie zum Auflisten benötigen.

Wenn Sie Objekt-ACLs als Teil Ihrer Anfrage zurückgeben oder die Aufgaben auf der Seite mit der Google Cloud Console ausführen möchten, benötigen Sie alternative Rollen:

  • Wenn Sie Objekt-ACLs als Teil Ihrer Anfrage zurückgeben möchten, bitten Sie Ihren Administrator, Ihnen die Rolle "Storage-Objekt-Administrator" (roles/storage.objectAdmin) anstelle von "Storage-Objekt-Betrachter" (roles/storage.objectViewer) zuzuweisen. .

  • Wenn Sie die Google Cloud Console zum Ausführen der Aufgaben auf dieser Seite verwenden möchten, bitten Sie Ihren Administrator, Ihnen die Rolle „Storage-Administrator“ (roles/storage.admin) anstelle der Rolle „Storage-Objekt-Betrachter“ (roles/storage.objectViewer) zuzuweisen.

    Alternativ können Sie Ihren Administrator bitten, Ihnen zusätzlich zur Rolle „Storage-Objekt-Betrachter“ (roles/storage.objectViewer) die einfache Rolle „Betrachter“ (roles/viewer) zuzuweisen.

Diese Rollen enthalten die Berechtigungen, die zum Auflisten von Objekten erforderlich sind. Erweitern Sie den Abschnitt Erforderliche Berechtigungen, um die erforderlichen Berechtigungen anzuzeigen:

Erforderliche Berechtigungen

  • storage.objects.list
  • storage.objects.getIamPolicy
    • Diese Berechtigung ist nur erforderlich, wenn Sie Objekt-ACLs zurückgeben möchten
  • storage.buckets.list
    • Diese Berechtigung ist nur erforderlich, wenn Sie die Aufgaben in der Google Cloud Console auf dieser Seite ausführen möchten.

Sie können diese Berechtigungen auch mit anderen vordefinierten Rollen oder benutzerdefinierten Rollen erhalten.

Informationen zum Zuweisen von Rollen für Buckets finden Sie unter IAM mit Buckets verwenden.

Objekte in einem Bucket auflisten

Führen Sie die folgenden Schritte aus, um die Objekte in einem Bucket aufzulisten:

Console

  1. Wechseln Sie in der Cloud Console zur Seite Cloud Storage-Buckets.

    Buckets aufrufen

  2. Klicken Sie in der Bucket-Liste auf den Namen des Buckets, dessen Inhalt Sie sehen möchten.

  3. Sie können Filter verwenden, um die Ergebnisse in der Liste einzugrenzen.

Befehlszeile

Führen Sie den Befehl gcloud storage ls mit dem Flag --recursive aus:

gcloud storage ls --recursive 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://my-bucket/cats.jpeg
gs://my-bucket/dogs.jpeg
gs://my-bucket/thesis.txt
...

Clientbibliotheken

C++

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

Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

Im folgenden Beispiel werden alle Objekte eines Buckets aufgelistet:

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

    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 const& bucket_name,
   std::string const& bucket_prefix) {
  for (auto&& object_metadata :
       client.ListObjects(bucket_name, gcs::Prefix(bucket_prefix))) {
    if (!object_metadata) throw std::move(object_metadata).status();

    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.

Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

Im folgenden Beispiel werden alle Objekte eines Buckets aufgelistet:


using Google.Cloud.Storage.V1;
using System;
using System.Collections.Generic;

public class ListFilesSample
{
    public IEnumerable<Google.Apis.Storage.v1.Data.Object> ListFiles(
        string bucketName = "your-unique-bucket-name")
    {
        var storage = StorageClient.Create();
        var storageObjects = storage.ListObjects(bucketName);
        Console.WriteLine($"Files in bucket {bucketName}:");
        foreach (var storageObject in storageObjects)
        {
            Console.WriteLine(storageObject.Name);
        }

        return storageObjects;
    }
}

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


using Google.Cloud.Storage.V1;
using System;
using System.Collections.Generic;

public class ListFilesWithPrefixSample
{
    /// <summary>
    /// Prefixes and delimiters can be used to emulate directory listings.
    /// Prefixes can be used to 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 objects:
    ///   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
    /// </summary>
    /// <param name="bucketName">The bucket to list the objects from.</param>
    /// <param name="prefix">The prefix to match. Only objects with names that start with this string will
    /// be returned. This parameter may be null or empty, in which case no filtering
    /// is performed.</param>
    /// <param name="delimiter">Used to list in "directory mode". Only objects whose names (aside from the prefix)
    /// do not contain the delimiter will be returned.</param>
    public IEnumerable<Google.Apis.Storage.v1.Data.Object> ListFilesWithPrefix(
        string bucketName = "your-unique-bucket-name",
        string prefix = "your-prefix",
        string delimiter = "your-delimiter")
    {
        var storage = StorageClient.Create();
        var options = new ListObjectsOptions { Delimiter = delimiter };
        var storageObjects = storage.ListObjects(bucketName, prefix, options);
        Console.WriteLine($"Objects in bucket {bucketName} with prefix {prefix}:");
        foreach (var storageObject in storageObjects)
        {
            Console.WriteLine(storageObject.Name);
        }
        return storageObjects;
    }
}

Go

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

Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

Im folgenden Beispiel werden alle Objekte eines Buckets aufgelistet:

import (
	"context"
	"fmt"
	"io"
	"time"

	"cloud.google.com/go/storage"
	"google.golang.org/api/iterator"
)

// listFiles lists objects within specified bucket.
func listFiles(w io.Writer, bucket string) error {
	// bucket := "bucket-name"
	ctx := context.Background()
	client, err := storage.NewClient(ctx)
	if err != nil {
		return fmt.Errorf("storage.NewClient: %w", err)
	}
	defer client.Close()

	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 fmt.Errorf("Bucket(%q).Objects: %w", bucket, err)
		}
		fmt.Fprintln(w, attrs.Name)
	}
	return nil
}

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

import (
	"context"
	"fmt"
	"io"
	"time"

	"cloud.google.com/go/storage"
	"google.golang.org/api/iterator"
)

// listFilesWithPrefix lists objects using prefix and delimeter.
func listFilesWithPrefix(w io.Writer, bucket, prefix, delim string) error {
	// bucket := "bucket-name"
	// prefix := "/foo"
	// delim := "_"
	ctx := context.Background()
	client, err := storage.NewClient(ctx)
	if err != nil {
		return fmt.Errorf("storage.NewClient: %w", err)
	}
	defer client.Close()

	// Prefixes and delimiters can be used to emulate directory listings.
	// Prefixes can be used to 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, 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 fmt.Errorf("Bucket(%q).Objects(): %w", bucket, err)
		}
		fmt.Fprintln(w, attrs.Name)
	}
	return nil
}

Java

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

Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

Im folgenden Beispiel werden alle Objekte eines Buckets aufgelistet:

import com.google.api.gax.paging.Page;
import com.google.cloud.storage.Blob;
import com.google.cloud.storage.Storage;
import com.google.cloud.storage.StorageOptions;

public class ListObjects {
  public static void listObjects(String projectId, String bucketName) {
    // The ID of your GCP project
    // String projectId = "your-project-id";

    // The ID of your GCS bucket
    // String bucketName = "your-unique-bucket-name";

    Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService();
    Page<Blob> blobs = storage.list(bucketName);

    for (Blob blob : blobs.iterateAll()) {
      System.out.println(blob.getName());
    }
  }
}

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

import com.google.api.gax.paging.Page;
import com.google.cloud.storage.Blob;
import com.google.cloud.storage.Storage;
import com.google.cloud.storage.StorageOptions;

public class ListObjectsWithPrefix {
  public static void listObjectsWithPrefix(
      String projectId, String bucketName, String directoryPrefix) {
    // The ID of your GCP project
    // String projectId = "your-project-id";

    // The ID of your GCS bucket
    // String bucketName = "your-unique-bucket-name";

    // The directory prefix to search for
    // String directoryPrefix = "myDirectory/"

    Storage storage = StorageOptions.newBuilder().setProjectId(projectId).build().getService();
    /**
     * Using the Storage.BlobListOption.currentDirectory() option here causes the results to display
     * in a "directory-like" mode, showing what objects are in the directory you've specified, as
     * well as what other directories exist in that directory. For example, given these blobs:
     *
     * <p>a/1.txt a/b/2.txt a/b/3.txt
     *
     * <p>If you specify prefix = "a/" and don't use Storage.BlobListOption.currentDirectory(),
     * you'll get back:
     *
     * <p>a/1.txt a/b/2.txt a/b/3.txt
     *
     * <p>However, if you specify prefix = "a/" and do use
     * Storage.BlobListOption.currentDirectory(), you'll get back:
     *
     * <p>a/1.txt a/b/
     *
     * <p>Because a/1.txt is the only file in the a/ directory and a/b/ is a directory inside the
     * /a/ directory.
     */
    Page<Blob> blobs =
        storage.list(
            bucketName,
            Storage.BlobListOption.prefix(directoryPrefix),
            Storage.BlobListOption.currentDirectory());

    for (Blob blob : blobs.iterateAll()) {
      System.out.println(blob.getName());
    }
  }
}

Node.js

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

Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

Im folgenden Beispiel werden alle Objekte eines Buckets aufgelistet:

/**
 * TODO(developer): Uncomment the following lines before running the sample.
 */
// The ID of your GCS bucket
// const bucketName = 'your-unique-bucket-name';

// 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.
 */
// The ID of your GCS bucket
// const bucketName = 'your-unique-bucket-name';

// The directory prefix to search for
// const prefix = 'myDirectory/';

// The delimiter to use
// const delimiter = '/';

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

Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

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.
 *        (e.g. 'my-bucket')
 */
function list_objects(string $bucketName): void
{
    $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.
 *        (e.g. 'my-bucket')
 * @param string $directoryPrefix the prefix to use in the list objects API call.
 *        (e.g. 'myDirectory/')
 */
function list_objects_with_prefix(string $bucketName, string $directoryPrefix): void
{
    $storage = new StorageClient();
    $bucket = $storage->bucket($bucketName);
    $options = ['prefix' => $directoryPrefix];
    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.

Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

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)

    # Note: The call returns a response only when the iterator is consumed.
    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 specify prefix ='a/', without a delimiter, you'll get back:

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

    However, if you specify prefix='a/' and delimiter='/', you'll get back
    only the file directly under 'a/':

        a/1.txt

    As part of the response, you'll also get back a blobs.prefixes entity
    that lists the "subfolders" under `a/`:

        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)

    # Note: The call returns a response only when the iterator is consumed.
    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.

Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

Im folgenden Beispiel werden alle Objekte eines Buckets aufgelistet:

def list_files bucket_name:
  # The ID of your GCS bucket
  # bucket_name = "your-unique-bucket-name"

  require "google/cloud/storage"

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

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

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

def list_files_with_prefix bucket_name:, prefix:, delimiter: nil
  # Lists all the files in the bucket that begin with the prefix.
  #
  # This can be used to list all files 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 files:
  #
  #     a/1.txt
  #     a/b/2.txt
  #
  # If you just specify `prefix: "a"`, you will get back:
  #
  #     a/1.txt
  #     a/b/2.txt
  #
  # However, if you specify `prefix: "a"` and `delimiter: "/"`, you will get back:
  #
  #     a/1.txt

  # The ID of your GCS bucket
  # bucket_name = "your-unique-bucket-name"

  # The directory prefix to search for
  # prefix = "a"

  # The delimiter to be used to restrict the results
  # delimiter = "/"

  require "google/cloud/storage"

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

  files.each do |file|
    puts file.name
  end
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. Eine Anleitung finden Sie unter API-Authentifizierung.
  2. Verwenden Sie cURL, um die JSON API mit einer Anfrage zum Auflisten von Objekten aufzurufen:

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

    Wobei:

    • OAUTH2_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.

    Mit dem Abfrageparameter includeFoldersAsPrefixes=True können Sie verwaltete Ordner als Teil der Listenergebnisse zurückgeben. Wenn Sie den Parameter includeFoldersAsPrefixes verwenden, muss der Parameter delimiter auf / festgelegt werden.

    Um Objekt-ACLs zurückzugeben, hängen Sie den Abfrageparameter projection mit dem Wert full an Ihre Anfrage an. ACLs sind deaktiviert und können nicht zurückgegeben werden, wenn der einheitliche Zugriff auf Bucket-Ebene für den Bucket aktiviert ist.

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. Eine Anleitung finden Sie unter API-Authentifizierung.
  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?list-type=2"

    Wobei:

    • OAUTH2_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 den Abfragestringparameter prefix=PREFIX verwenden, um die Ergebnisse auf Buckets mit dem angegebenen Präfix zu beschränken.

Objekte filtern

Console

Verwenden Sie das Feld Filter auf der Seite Bucket-Details, um Objekte mit der Google Cloud Console zu filtern.

Befehlszeile

Beim Auflisten von Objekten mithilfe der Google Cloud CLI können Sie Platzhalter verwenden, um nach Objekten zu filtern, die mit einem angegebenen Präfix beginnen oder mit einem angegebenen Suffix enden. Der folgende Befehl gleicht beispielsweise .png-Objekte ab, die mit image beginnen:

gcloud storage ls gs://my-bucket/image*.png

Weitere Informationen zum Filtern mit der Google Cloud CLI finden Sie in der Dokumentation zu gcloud storage ls.

REST APIs

JSON API

Beim Auflisten von Objekten mithilfe der Cloud Storage JSON API können Sie die Ergebnisse mit den Abfragestringparametern prefix oder matchGlob filtern. Weitere Informationen zur Verwendung dieser Abfragestringparameter finden Sie in der JSON API-Referenzdokumentation zur Objektliste.

Nach Präfix filtern

Mit dem Abfragestringparameter prefix=PREFIX können Sie die Ergebnisse auf Objekte oder verwaltete Ordner mit dem angegebenen Präfix beschränken. Wenn Sie beispielsweise alle Objekte im Bucket my-bucket mit dem Präfix folder/subfolder/ auflisten möchten, stellen Sie eine Anfrage zur Objektauflistung unter Verwendung der folgenden URL: "https://storage.googleapis.com/storage/v1/b/my-bucket?prefix=folder/subfolder/".

Die Verwendung von prefix zum Auflisten der Inhalte eines verwalteten Ordners ist nützlich, wenn Sie nur die Berechtigung zum Auflisten von Objekten im verwalteten Ordner, aber nicht den gesamten Bucket haben. Angenommen, Sie haben die IAM-Rolle „Storage-Objekt-Betrachter“ (roles/storage.objectViewer) für den verwalteten Ordner my-bucket/my-managed-folder-a/, aber nicht für den verwalteten Ordner my-bucket/my-managed-folder-b/. Wenn Sie nur die Objekte in my-managed-folder-a zurückgeben möchten, können Sie prefix=my-managed-folder-a/ angeben.

Wenn Sie die Ergebnisse auf einen verwalteten Ordner und die darin enthaltenen Objekte beschränken, müssen Sie am Ende von PREFIX einen / setzen (z. B. prefix=my-managed-folder/). Andernfalls können die Ergebnisse auch Objekte enthalten, die sich in der Nähe des verwalteten Ordners befinden. In diesem Beispiel haben Sie einen Bucket, der die folgenden Objekte enthält:

  • my-bucket/abc.txt
  • my-bucket/abc/object.txt

Wenn Sie prefix=abc/ angeben, können Sie die Objekte my-bucket/abc/object.txt erhalten. Wenn Sie prefix=abc angeben, können Sie sowohl my-bucket/abc.txt als auch my-bucket/abc/object.txt erhalten.

Nach glob-Ausdruck filtern

Sie können den Abfragestringparameter matchGlob=GLOB_PATTERN verwenden, um die Ergebnisse nur nach den Objekten zu filtern, die einem bestimmten glob-Ausdruck entsprechen. Beispielsweise kann matchGlob=**.jpeg verwendet werden, um alle Objekte abzugleichen, deren Namen mit .jpeg enden.

Anfragen, die den Parameter matchGlob verwenden, schlagen fehl, wenn sie auch einen delimiter-Parameter enthalten, der auf einen anderen Wert als / gesetzt ist.

Nächste Schritte