Auf dieser Seite erfahren Sie, wie Sie Cloud Storage-Objekte in einem einzelnen Objekt zusammenfassen. Eine Anfrage zur Zusammensetzung umfasst 1 bis 32 Objekte und erstellt ein neues zusammengesetztes Objekt. Das zusammengesetzte Objekt ist eine Verkettung der Quellobjekte in der Reihenfolge, in der sie in der Anfrage angegeben wurden.
Beachten Sie beim Zusammensetzen von Objekten Folgendes:
- Die Quellobjekte sind vom Zusammensetzungsprozess nicht betroffen. Wenn es sich dabei um temporäre Objekte handeln soll, müssen Sie diese löschen, sobald Sie die Zusammensetzung erfolgreich abgeschlossen haben.
- Da für andere Speicherklassen Gebühren für vorzeitiges Löschen anfallen, sollten Sie für temporäre Objekte immer Standard Storage verwenden.
Erforderliche Rollen
Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Storage-Objekt-Nutzer (roles/storage.objectUser
) für den Bucket zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Erstellen von Objekten benötigen. Diese vordefinierte Rolle enthält die Berechtigungen, die zum Erstellen von Objekten erforderlich sind. Erweitern Sie den Abschnitt Erforderliche Berechtigungen, um die erforderlichen Berechtigungen anzuzeigen:
Erforderliche Berechtigungen
storage.objects.create
storage.objects.delete
- Diese Berechtigung ist nur erforderlich, wenn Sie dem erstellten Objekt den gleichen Namen wie einem Objekt geben möchten, das bereits im Bucket vorhanden ist.
storage.objects.get
storage.objects.list
- Diese Berechtigung ist nur erforderlich, wenn Sie Platzhalter verwenden möchten, um Objekte mit einem gemeinsamen Präfix zusammenzusetzen, ohne jedes Objekt separat in Ihrem Google Cloud CLI-Befehl auflisten zu müssen.
Wenn Sie eine Aufbewahrungskonfiguration für das Objekt festlegen möchten, das Sie zusammensetzen, benötigen Sie außerdem die Berechtigung storage.objects.setRetention
. Bitten Sie Ihren Administrator, Ihnen die Rolle „Storage-Objekt-Administrator“ (roles/storage.objectAdmin
) anstelle von „Storage-Objekt-Nutzer“ (roles/storage.objectUser
) zuzuweisen, um diese Berechtigung zu erhalten.
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.
Zusammengesetztes Objekt erstellen
Befehlszeile
Führen Sie den Befehl gcloud storage objects compose
aus:
gcloud storage objects compose gs://BUCKET_NAME/SOURCE_OBJECT_1 gs://BUCKET_NAME/SOURCE_OBJECT_2 gs://BUCKET_NAME/COMPOSITE_OBJECT_NAME
Wobei:
BUCKET_NAME
ist der Name des Buckets, der die Quellobjekte enthält.SOURCE_OBJECT_1
undSOURCE_OBJECT_2
sind die Namen der Quellobjekte, die bei der Objektzusammensetzung verwendet werden sollen.COMPOSITE_OBJECT_NAME
ist der Name, den Sie dem Ergebnis der Objektzusammensetzung geben.
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.
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.
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.
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.
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.
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.
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.
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.
REST APIs
JSON API
Installieren und initialisieren Sie die dcloud CLI, um ein Zugriffstoken für den Header
Authorization
zu generieren.Alternativ können Sie mit dem OAuth 2.0 Playground ein Zugriffstoken erstellen und in den Header
Authorization
einfügen.Erstellen Sie eine JSON-Datei, die folgende Informationen enthält:
{ "sourceObjects": [ { "name": "SOURCE_OBJECT_1" }, { "name": "SOURCE_OBJECT_2" } ], "destination": { "contentType": "COMPOSITE_OBJECT_CONTENT_TYPE" } }
Wobei:
SOURCE_OBJECT_1
undSOURCE_OBJECT_2
sind die Namen der Quellobjekte, die in der Objektzusammensetzung verwendet werden sollen.COMPOSITE_OBJECT_CONTENT_TYPE
ist der Inhaltstyp des resultierenden zusammengesetzten Objekts.
Verwenden Sie
cURL
, um die JSON API mit einerPOST
-Objektanfrage aufzurufen:curl -X POST --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o/COMPOSITE_OBJECT_NAME/compose"
Wobei:
JSON_FILE_NAME
ist der Name der Datei, die Sie im vorherigen Schritt erstellt haben.BUCKET_NAME
ist der Name des Buckets, der die Quellobjekte enthält.COMPOSITE_OBJECT_NAME
ist der Name, den Sie dem Ergebnis der Objektzusammensetzung geben.
Wenn der Vorgang erfolgreich abgeschlossen wurde, ist die Antwort eine Objektressource für das resultierende zusammengesetzte Objekt.
XML API
Die gcloud CLI installieren und initialisieren, um ein Zugriffstoken für den Header
Authorization
zu generieren.Alternativ können Sie mit dem OAuth 2.0 Playground ein Zugriffstoken erstellen und in den Header
Authorization
einfügen.Erstellen Sie eine XML-Datei, die Folgendes enthält:
<ComposeRequest> <Component> <Name>SOURCE_OBJECT_1</Name> </Component> <Component> <Name>SOURCE_OBJECT_2</Name> </Component> </ComposeRequest>
Wobei:
SOURCE_OBJECT_1
undSOURCE_OBJECT_2
sind die Namen der Quellobjekte, die in der Objektzusammensetzung verwendet werden sollen.
Verwenden Sie
cURL
, um die XML API mit einerPUT
-Objektanfrage und dem Abfragestringparametercompose
aufzurufen:curl -X PUT --data-binary @XML_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: COMPOSITE_OBJECT_CONTENT_TYPE" \ "https://storage.googleapis.com/BUCKET_NAME/COMPOSITE_OBJECT_NAME?compose"
Wobei:
XML_FILE_NAME
ist der Name der Datei, die Sie im vorherigen Schritt erstellt haben.COMPOSITE_OBJECT_CONTENT_TYPE
ist der Inhaltstyp des resultierenden zusammengesetzten Objekts.BUCKET_NAME
ist der Name des Buckets, der die Quellobjekte enthält.COMPOSITE_OBJECT_NAME
ist der Name, den Sie dem Ergebnis der Objektzusammensetzung geben.
Wenn der Vorgang erfolgreich abgeschlossen wurde, wird ein leerer Antworttext zurückgegeben.
Nächste Schritte
- Mehr zu zusammengesetzten Objekten
- Anfragevorbedingungen verwenden, um Race-Bedingungen zu verhindern