Objektmetadaten

Zu den Beispielen

Auf dieser Seite werden die Metadatenfelder erläutert, die zusammen mit Objekten in Cloud Storage gespeichert werden.

Einführung

In Cloud Storage gespeicherte Objekte verfügen über Metadaten, die mit ihnen verknüpft sind. Metadaten beschreiben die Attribute des Objekts und legen fest, was mit dem Objekt passiert, wenn es aufgerufen wird. Metadaten bestehen aus Schlüssel/Wert-Paaren. Die Speicherklasse eines Objekts wird beispielsweise durch den Metadateneintrag storageClass:STANDARD dargestellt. storageClass ist der Schlüssel für die Metadaten. Alle Objekte sind mit einem solchen Schlüssel verknüpft. STANDARD gibt den Wert des jeweiligen Objekts an. Dieser ist von Objekt zu Objekt unterschiedlich.

Die Änderbarkeit von Metadaten variiert: einige Metadaten können jederzeit bearbeitet werden, einige Metadaten können nur bei der Objekterstellung festgelegt werden und einige Metadaten können lediglich angezeigt werden. Sie können beispielsweise den Wert der Cache-Control-Metadaten jederzeit bearbeiten, aber Sie können die storageClass-Metadaten nur zuweisen, wenn das Objekt erstellt oder umgeschrieben wird. Ferner können Sie den Wert der generation-Metadaten nicht direkt bearbeiten, aber der generation-Wert ändert sich, wenn das Objekt ersetzt wird.

Editierbare Metadaten

Es gibt zwei Kategorien von Objektmetadaten, die durch Nutzer geändert werden können:

  • Metadaten mit festen Schlüsseln: Metadaten, deren Schlüssel festgelegt sind, aber für die Sie einen Wert angeben können.

  • Benutzerdefinierte Metadaten: Metadaten, die hinzugefügt werden, indem Sie einen Schlüssel und einen mit dem Schlüssel verknüpften Wert angeben.

Beim Bearbeiten von Metadaten sollten Sie generell auf Nicht-ASCII-Zeichen verzichten, da diese in HTTP-Headern, die in der XML API genutzt werden, nicht zulässig sind. Bei Verwendung der XML API ist die Gesamtgröße der URL- und HTTP-Header der Anfrage außerdem auf 16 KB beschränkt. Daher sollte dieser Grenzwert bei der Gesamtgröße der Metadaten berücksichtigt werden.

Metadaten mit festem Schlüssel

Sie können die folgenden Metadaten für Objekte bearbeiten, sofern Sie über die erforderliche Berechtigung verfügen:

Zugriffssteuerungs-Metadaten

Cloud Storage steuert den Zugriff auf Objekte über die Identitäts- und Zugriffsverwaltung (IAM) und über Access Control Lists (ACLs). Klicken Sie auf die Links, um weitere Informationen zu diesen Zugriffssteuerungsmethoden und den zugehörigen Metadaten zu erhalten.

Cachesteuerung

Die Cache-Control-Metadaten können zwei verschiedene Aspekte der Datenbereitstellung aus Cloud Storage angeben: ob die Daten zwischengespeichert und ob sie transformiert werden können.

Daten zwischenspeichern

Mit den Cache-Control-Metadaten können Sie steuern, ob und wie lange Browser- und Internetcaches Objekte im Cache speichern dürfen. Diese können dann für zukünftige Anfragen bereitgestellt werden. Cache-Control gilt nur beim Zugriff auf Objekte, die:

Cloud Storage berücksichtigt Standardwerte für Cache-Control, z. B.:

  • public: Das Objekt kann überall im Cache gespeichert werden.

  • private: Das Objekt kann im lokalen Cache eines Anfragenden gespeichert werden.

  • no-cache: Das Objekt kann im Cache gespeichert werden, kann aber nur dann für zukünftige Anfragen verwendet werden, wenn es zuerst von Cloud Storage validiert wurde.

  • no-store: Das Objekt sollte nirgendwo im Cache gespeichert werden.

  • max-age=TIME_IN_SECONDS: Die Zeitdauer, die ein Objekt im Cache gespeichert werden kann, bevor es als veraltet gilt. Sie können für max-age eine beliebige Zeitspanne festlegen. Veraltete Objekte werden nicht aus Caches bereitgestellt, außer unter besonderen Bedingungen.

Wenn ein anwendbares Objekt keinen Cache-Control-Metadateneintrag hat, verwendet Cloud Storage den folgenden Standardwert:

  • public, max-age=3600

Wenn Sie Caching zulassen, können Downloads auch nach dem Hochladen einer neueren Version ältere Versionen eines Objekts erhalten. Dies liegt daran, dass die ältere Version für einen von max-age festgelegten Zeitraum im Cache "neu" bleibt. Es gibt keine Möglichkeit, den Ablauf eines Objekts global zu erzwingen, da Objekte an verschiedenen Orten im Internet zwischengespeichert werden können. Wenn Sie verhindern möchten, dass im Cache gespeicherte Versionen öffentlich lesbarer Objekte bereitgestellt werden, legen Sie Cache-Control: no-store für das Objekt fest.

Weitere Informationen zum Caching mit Cloud Storage und Cloud CDN finden Sie unter Caching.

Daten umwandeln

Cache-Control-Metadaten ermöglichen Ihnen außerdem, Objekte so bereitzustellen, wie sie gespeichert sind. Das bedeutet, dass keine Datentransformationen erforderlich ist, etwa durch das Entfernen einer gzip-Inhaltscodierung für inkompatible Clients. Verwenden Sie die Einstellung Cache-Control:no-transform, um ein Objekt unverändert bereitzustellen.

Inhaltsanordnung

Die Content-Disposition-Metadaten geben Informationen zur Präsentation der übertragenen Daten an. Wenn Sie Content-Disposition einstellen, können Sie den Präsentationsstil der Inhalte steuern. Zum Beispiel können Sie festlegen, ob Anhänge automatisch angezeigt werden oder ob zum Öffnen eine bestimmte Nutzeraktion erforderlich ist. Weitere Informationen zur Content-Disposition-Spezifikation finden Sie unter https://tools.ietf.org/html/rfc6266.

Inhaltscodierung

Mit den Content-Encoding-Metadaten kann angezeigt werden, dass ein Objekt komprimiert ist, ohne den zugrunde liegenden Content-Type des Objekts zu verändern. Der Dateityp einer mit gzip komprimierten Textdatei kann z. B. unter Content-Type angegeben werden. Die Tatsache, dass es sich um eine mit gzip komprimierte Datei handelt, kann unter Content-Encoding angegeben werden. Sorgen Sie mithilfe des angegebenen Content-Encoding-Werts dafür, dass die Dateien tatsächlich komprimiert sind, bevor Sie sie hochladen. Ansonsten kann das Herunterladen der Objekte unerwartetes Verhalten verursachen. Weitere Informationen finden Sie auf der Seite zur Transcodierung.

Bei komprimierbaren Inhalten wie Text können Sie mit Content-Encoding: gzip Netzwerk- und Speicherkosten einsparen und die Bereitstellung von Inhalten verbessern. Bei Inhalten, die bereits standardmäßig komprimiert sind, z. B. Archive und viele Medienformate, kann es sich jedoch negativ auf die Objektgröße und die Leistung auswirken, wenn eine zusätzliche Komprimierung angewendet und in den Content-Encoding-Metadaten ausgewiesen wird.

Inhaltssprache

Die Content-Language-Metadaten geben die Sprachen an, für die das Objekt bestimmt ist. Die unterstützten Werte für diese Metadaten finden Sie in den ISO 639-1-Sprachcodes.

Content-Type

Die am häufigsten festgelegten Metadaten sind Content-Type (auch als Medientyp bezeichnet), womit Browser das Objekt ordnungsgemäß rendern können. Alle Objekte weisen in ihren Content-Type-Metadaten einen Wert auf. Dieser Wert muss aber nicht mit dem zugrunde liegenden Typ des Objekts übereinstimmen. Wenn die Person, die das Objekt hochgeladen hat, beispielsweise keinen Content-Type angegeben hat und dieser Wert nicht ermittelt werden kann, wird er auf application/octet-stream oder application/x-www-form-urlencoded gesetzt. Dies hängt davon ab, wie Sie das Objekt hochgeladen haben. Eine Liste der gültigen Inhaltstypen finden Sie auf der Seite IANA-Medientypen.

Benutzerdefinierte Dauer

Die Custom-Time-Metadaten sind ein benutzerdefiniertes Datum und eine Uhrzeit im RFC 3339-Format YYYY-MM-DD'T'HH:MM:SS.SS'Z' oder YYYY-MM-DD'T'HH:MM:SS'Z', wenn Millisekunden null sind. Diese Metadaten werden normalerweise festgelegt, um in der Verwaltung des Objektlebenszyklus die Bedingung DaysSinceCustomTime zu verwenden.

Sie können Custom-Time nicht mehr entfernen, nachdem Sie es für ein Objekt festgelegt haben. Außerdem kann sich der Wert für Custom-Time nicht mehr verkürzen. Das heißt, Sie können Custom-Time nicht auf ein früheres Datum / eine frühere Uhrzeit als die vorhandene Custom-Time festlegen. Sie können Custom-Time jedoch effektiv entfernen oder zurücksetzen. Schreiben Sie dazu das Objekt um.

Objekt-Holds

Verwenden Sie Metadaten-Flags, um Objekt-Holds zu platzieren, wodurch Objekte nicht gelöscht oder ersetzt werden können. Weitere Informationen finden Sie auf der Seite "Objekt-Holds".

Benutzerdefinierte Metadaten

Benutzerdefinierte Metadaten sind Metadaten, die Sie hinzufügen und entfernen können. Zum Erstellen von benutzerdefinierten Metadaten geben Sie sowohl einen Schlüssel als auch einen Wert an. Soblad Sie ein benutzerdefiniertes key:value-Metadatenpaar erstellt haben, können Sie den Schlüssel löschen oder den Wert ändern. Benutzerdefinierte Metadaten unterliegen einem Größenlimit und es fallen Speicherkosten an.

Auf der Seite Metadaten anzeigen und bearbeiten finden Sie Informationen zum Festlegen benutzerdefinierter Metadaten.

Das Präfix x-goog-meta-

Über die XML API werden Objektmetadaten mithilfe von Anfrage-Headern festgelegt und abgerufen. Um benutzerdefinierte Metadaten-Header eindeutig von Standardanfrage-Headern zu unterscheiden, wird das XML API-Präfix für benutzerdefinierte Metadatenheader x-goog-meta- vorangestellt.

Einige Tools, die die XML API verwenden, wenden diese Konvention ebenfalls an. Wenn Sie beispielsweise benutzerdefinierte Metadaten mit gsutil festlegen, müssen Sie das Präfix x-goog-meta- angeben. Beachten Sie, dass gsutil das Präfix bei der Anzeige der Metadaten eines Objekts entfernt.

Nicht editierbare Metadaten

Einige Metadaten können nicht direkt bearbeitet werden. Diese Metadaten werden zum Zeitpunkt der Erstellung oder Neuschreibung des Objekts festgelegt. Sie haben beim Erstellen oder Umschreiben von Objekten die Möglichkeit, einige dieser Metadaten wie die Speicherklasse des Objekts oder vom Kunden verwaltete Verschlüsselungsschlüssel festzulegen. Andere Metadaten werden automatisch hinzugefügt und können nur angezeigt werden. Dazu gehören unter anderem die Generierungsnummer des Objekts oder die Erstellungszeit.

Nächste Schritte