Auf dieser Seite werden Konzepte im Zusammenhang mit dem Lesen und Herunterladen von Objekten in Cloud Storage erläutert.
Objekte lesen
Das Lesen eines Objekts bezieht sich auf das Streamen, Verarbeiten oder Prüfen von Objektdaten oder eines bestimmten Bytebereichs über eine offene Netzwerkverbindung direkt im Arbeitsspeicher. Die abgerufene Nutzlast wird nicht lokal gespeichert, sondern ist sitzungsspezifisch und befindet sich in einem Anwendungsspeicherstream, einem Zwischenspeicher, einer Pipeline oder direkt im CPU-/GPU-Speicher. Das Lesen von Objekten eignet sich für leistungsstarke, durchsatzintensive Arbeitslasten, z. B. das Streamen von Trainings-Datasets und Tensor-Batches in Frameworks für künstliche Intelligenz (KI) und maschinelles Lernen (ML) wie Pytorch oder Jax.
In der folgenden Liste werden die in Cloud Storage verfügbaren Arten von Objektlesevorgängen beschrieben:
Objekte in den Arbeitsspeicher einlesen oder interaktives Lesen von Objekten: Eine Methode, bei der Daten interaktiv oder in den Arbeitsspeicher eingelesen werden. Der Client ruft das gesamte Objekt ab und lädt alle Byte in eine zusammenhängende Variable, ein Byte-Array oder einen In-Memory-String.
Streaming-Lesevorgänge: Bei dieser Methode werden Daten als Byte-Stream direkt beim Empfang aus dem Netzwerk verarbeitet, anstatt auf den Abschluss der gesamten Übertragung zu warten.
Objekte herunterladen
Das Herunterladen eines Objekts ist eine End-to-End-Aufgabe, bei der Objektdaten von Cloud Storage in eine nichtflüchtige Datei in einem lokalen Dateisystem, auf einem Laufwerk oder auf einem Zielspeichergerät übertragen werden. Im Gegensatz zu In-Memory-Streaming-Lesevorgängen umfasst das Herunterladen sowohl das Abrufen der Remote-Bytes als auch das Speichern im lokalen Speicher. Das Herunterladen von Objekten eignet sich in erster Linie für die allgemeine Dateiverwaltung, die lokale Archivierung, die Datensicherung und die Offline-Nutzung.
Bei Verwendung von REST APIs werden Downloads über HTTP- oder HTTPS-GET-Anfragen ausgeführt, die einen optionalen Range-Header enthalten können. Dieser definiert einen bestimmten Teil des Objekts, der in den nichtflüchtigen oder lokalen Speicher heruntergeladen werden soll. Sie können auch den Header Range verwenden, um unterbrochene Downloads fortzusetzen. Bei Verwendung von gRPC werden für Downloads storage.v2.Storage/ReadObject- oder BidiReadObject-Streams verwendet.
In der folgenden Liste werden die in Cloud Storage verfügbaren Objektdownloads beschrieben:
Einfache Downloads: Die einfachste Form des Objektdownloads. Der Client sendet eine einzelne Anfrage, um entweder das gesamte Objekt oder einen bestimmten Bytebereich in einer kontinuierlichen Übertragung abzurufen.
Segmentierte Objektdownloads: Eine leistungsstarke Strategie, bei der ein einzelnes großes Objekt in mehrere kleinere „Segmente“ (auch als „Chunks“ bezeichnet) aufgeteilt wird. Der Client lädt diese Slices parallel über mehrere unabhängige und gleichzeitige Anfragen herunter und setzt sie dann lokal zu einer einzigen Datei zusammen.
Toolunterstützung zum Lesen und Herunterladen von Objekten
Console
Wenn Sie die Google Cloud Console verwenden, können Sie die folgenden Objektlese- und Downloadvorgänge ausführen:
Befehlszeile
Sie können die folgenden Arten von Objektlesevorgängen und Downloads bei Verwendung der Google Cloud CLI ausführen:
Clientbibliotheken
C++
Sie können die folgenden Arten von Lesevorgängen und Downloads ausführen, wenn Sie die C++-Clientbibliothek verwenden:
C#
Sie können die folgenden Arten von Lesevorgängen und Downloads ausführen, wenn Sie die C#-Clientbibliothek verwenden:
Go
Sie können die folgenden Arten von Lesevorgängen und Downloads ausführen, wenn Sie die Go-Clientbibliothek verwenden:
Java
Sie können die folgenden Arten von Lesevorgängen und Downloads ausführen, wenn Sie die Java-Clientbibliothek verwenden:
Node.js
Sie können die folgenden Arten von Lesevorgängen und Downloads durchführen, wenn Sie die Node.js-Clientbibliothek verwenden:
PHP
Sie können die folgenden Arten von Lesevorgängen und Downloads ausführen, wenn Sie die PHP-Clientbibliothek verwenden:
Python
Sie können die folgenden Arten von Lesevorgängen und Downloads ausführen, wenn Sie die Python-Clientbibliothek verwenden:
Ruby
Sie können die folgenden Arten von Lesevorgängen und Downloads ausführen, wenn Sie die Ruby-Clientbibliothek verwenden:
REST APIs
Wenn Sie REST APIs zum Herunterladen von Objekten verwenden, finden Sie unter Anfrageendpunkte ausführliche Informationen zu den Anfrageendpunkten, die Sie verwenden können.
JSON API
Sie können die folgenden Arten von Downloads bei Verwendung der JSON API ausführen:
XML API
Sie können die folgenden Arten von Downloads bei Verwendung der XML API ausführen:
Nächste Schritte
- Daten öffentlich zugänglich machen.
- Informationen zur Verwendung von Prüfsummen für Objektdownloads
- Objekte hochladen
- Objektmetadaten aufrufen und bearbeiten
- Daten mit dem Storage Transfer Service in Cloud Storage übertragen
- Objekte von Ihrer Compute Engine-Instanz übertragen