Metadaten beibehalten

In diesem Dokument werden Metadaten beschrieben, die gespeichert werden, wenn Sie Storage Transfer Service verwenden, um Daten zwischen verschiedenen Quellen und Zielen zu übertragen.

Überblick

Storage Transfer Service bewahrt die folgenden Metadaten auf:

  • Vom Nutzer erstellte benutzerdefinierte Metadaten für Übertragungen aus Cloud Storage, Amazon S3 oder Microsoft Azure Blob Storage bleiben erhalten.

  • Übertragungen zwischen Cloud Storage-Buckets können optional Objekt-ACLs, vom Kunden verwaltete Verschlüsselungsschlüssel, die Speicherklasse, Erstellungszeit für Objekte (als Wert eines customTime-Felds) und temporäre Holds beibehalten.

  • Für Übertragungen von einer beliebigen Quelle in einen Cloud Storage-Bucket kann die Speicherklasse des Objekts im Ziel-Bucket als Teil der Übertragung auf eine beliebige unterstützte Klasse festgelegt werden.

  • Die Dateigröße und der Zeitpunkt der letzten Änderung (mtime) werden für Übertragungen beibehalten, die aus POSIX-Dateisystemen stammen. mtime wird nicht für Ordner beibehalten.

  • Optional können Symlinks, numerische UID, numerische GID und numerische Modi für Übertragungen zu und von POSIX-Dateisystemen beibehalten werden.

  • Bei Übertragungen zwischen Dateisystemen werden die Metadaten auch für Ordner beibehalten, wenn UID, GID oder MODE beibehalten werden. Cloud Storage erstellt Ordner im Zieldateisystem neu und stellt UID, GID und/oder MODE wieder her. Das gilt auch für leere Ordner. mtime wird nicht beibehalten.

    Metadaten auf Ordnerebene werden nicht beibehalten, wenn die Übertragung über ein Manifest erfolgt.

Metadatenfelder, die in diesem Dokument nicht explizit erwähnt werden, werden nicht beibehalten.

Verhalten bei der Metadatenaufbewahrung

In den folgenden Abschnitten werden Metadatenbeispiele aus verschiedenen Quellspeichersystemen aufgeführt und wie Storage Transfer Service Metadaten jeweils aufbewahrt. Eine vollständige Liste der Metadaten finden Sie in der Dokumentation des Quellspeichersystems.

Amazon S3 für Cloud Storage

Beispiel für Metadaten Aufbewahrungsverhalten
Metadatenschlüsselfelder von Amazon S3 mit einem Schlüssel, wie Cache-Control, Content-Disposition und Content-Type. Wird als Metadaten mit festem Schlüssel beibehalten.
Benutzerdefinierte Amazon S3-Metadaten, formatiert als Schlüssel/Wert-Paare. Weitere Informationen finden Sie im Abschnitt Benutzerdefinierte Objektmetadaten von Objektschlüssel und Metadaten.

Wird als benutzerdefiniertes Metadatenfeld in Cloud Storage-Zielobjekten beibehalten, das Sie später bearbeiten oder entfernen können.

ETag Wird als benutzerdefiniertes Metadatenfeld mit dem Schlüssel x-goog-source-etag beibehalten, das Sie später bearbeiten oder entfernen können.
Objektgröße. Beibehalten als size.
Zugriffssteuerungslisten (ACLs) für Amazon S3. Eine vollständige Liste finden Sie im Abschnitt für Bedingungsschlüssel unter Access Control List (ACL) – Übersicht. Nicht beibehalten.
Amazon S3-Objekt-Tags, die Sie als Schlüssel/Wert-Paare definieren. Weitere Informationen finden Sie unter Objekt-Tags. Nicht beibehalten.
Vom System definierte Amazon S3-Metadaten, mit Ausnahme von ETag und Objektgröße. Eine vollständige Liste finden Sie im Abschnitt Systemdefinierte Objektmetadaten von Objektschlüssel und Metadaten.

Nicht beibehalten.

Zeitstempelmetadaten aus der Quelle werden nicht beibehalten. Die Erstellungszeit timeCreated gibt die Zeit an, zu der ein Objekt in Cloud Storage erstellt wurde. Entsprechend gibt updated die Zeit an, zu der Metadaten für ein Objekt in Cloud Storage geändert wurden.

Speicherklasse

Es gibt mehrere Möglichkeiten, die Speicherklasse während einer Übertragung festzulegen.

  • Legen Sie für die Speicherklasse jedes Objekts die des Ziel-Buckets fest. Das ist das Standardverhalten.
  • Legen Sie für alle zu übertragenden Objekte eine bestimmte Speicherklasse fest.

Weitere Informationen finden Sie in der Referenzdokumentation zu metadataOptions.

Microsoft Azure Storage zu Cloud Storage

Beispiel für Metadaten Aufbewahrungsverhalten
Feste Metadatenfelder von Microsoft Azure Storage, z. B. Cache-Control, Content-Disposition und Content-Type. Wird als Metadaten mit festem Schlüssel beibehalten.
Benutzerdefinierte Microsoft Azure Storage-Metadaten, formatiert als Schlüssel/Wert-Paare. Weitere Informationen finden Sie unter Einstellungen und Abrufen von Attributen und Metadaten für Blob-Dienstressourcen.

Wird als benutzerdefiniertes Metadatenfeld in Cloud Storage-Zielobjekten beibehalten, das Sie später bearbeiten oder entfernen können.

ETag Wird als benutzerdefiniertes Metadatenfeld mit dem Schlüssel x-goog-source-etag beibehalten, das Sie später bearbeiten oder entfernen können.
Objektgröße. Beibehalten als size.
POSIX-Dateisystemberechtigungen, die von Azure Data Lake Storage (ADLS) Gen 2 unterstützt werden. Nicht beibehalten.
Microsoft Azure Storage-Zugriffssteuerung, insbesondere x-ms-blob-public-access. Weitere Informationen finden Sie im Abschnitt Antwortheader von Container-ACL abrufen. Nicht beibehalten.
Microsoft Azure Storage-Index-Tags. Weitere Informationen finden Sie unter Azure-Blob-Daten mit Blob-Index-Tags verwalten und finden. Nicht beibehalten.
Microsoft Azure Storage-Zeitstempelmetadaten wie Last-Modified, x-ms-creation-time, x-ms-version, x-ms-request-server-encrypted und x-ms-encryption-scope. Weitere Informationen finden Sie unter Blob-Metadaten festlegen.

Nicht beibehalten.

Zeitstempelmetadaten aus der Quelle werden nicht beibehalten. Die Erstellungszeit timeCreated gibt die Zeit an, zu der ein Objekt in Cloud Storage erstellt wurde. Entsprechend gibt updated die Zeit an, zu der Metadaten für ein Objekt in Cloud Storage geändert wurden.

Speicherklasse

Es gibt mehrere Möglichkeiten, die Speicherklasse während einer Übertragung festzulegen.

  • Legen Sie für die Speicherklasse jedes Objekts die des Ziel-Buckets fest. Das ist das Standardverhalten.
  • Legen Sie für alle zu übertragenden Objekte eine bestimmte Speicherklasse fest.

Weitere Informationen finden Sie in der Referenzdokumentation zu metadataOptions.

Übertragungen zwischen Cloud Storage-Buckets

Beispiel für Metadaten Aufbewahrungsverhalten

Cloud Storage-Metadatenfelder mit festem Schlüssel, z. B. Cache-Control, Content-Disposition und Content-Type.

Weitere Informationen finden Sie unter Objektmetadaten.

Wird als Metadaten mit festem Schlüssel beibehalten.

Benutzerdefinierte Cloud Storage-Metadaten, die als Schlüssel/Wert-Paare formatiert sind. Weitere Informationen finden Sie unter Benutzerdefinierte Metadaten.

Wird als benutzerdefiniertes Metadatenfeld in Cloud Storage-Zielobjekten beibehalten, das Sie später bearbeiten oder entfernen können.

Objektgröße Beibehalten als size.
Objektgenerierung Als benutzerdefiniertes Metadatenfeld mit dem Schlüssel x-goog-reserved-source-generation beibehalten, das Sie später bearbeiten oder entfernen können.
Objekt-Holds

Ereignisbasierte Holds werden nicht beibehalten. Wenn für den Ziel-Bucket das standardmäßige ereignisbasierte Hold-Attribut aktiviert ist, wird ein ereignisbasierter Hold auf übertragene Objekte angewendet.

Temporäre Holds werden standardmäßig beibehalten. Wenn Sie temporäre Holds während der Übertragung verwerfen möchten, setzen Sie das Feld temporaryHold des Objekts metadataOptions auf TEMPORARY_HOLD_SKIP.

Zugriffssteuerungslisten (ACLs)

ACLs können optional beibehalten werden. Weitere Informationen finden Sie in der Referenzdokumentation zu metadataOptions.

Achten Sie beim Beibehalten von ACLs darauf, zu vermeiden, nicht zugängliche Objekte zu erstellen.

Weitere Informationen finden Sie in der Cloud Storage-Dokumentation zu Zugriffssteuerungslisten.

Speicherklasse

Es gibt mehrere Möglichkeiten, die Speicherklasse während einer Übertragung festzulegen.

  • Legen Sie für die Speicherklasse jedes Objekts die des Ziel-Buckets fest. Das ist das Standardverhalten.
  • Behalten Sie die Speicherklasse des Quellobjekts bei.
  • Legen Sie für alle zu übertragenden Objekte eine bestimmte Speicherklasse fest.

Weitere Informationen finden Sie in der Referenzdokumentation zu metadataOptions.

Vom Kunden verwalteter Verschlüsselungsschlüssel

Wenn ein vom Kunden verwalteter Verschlüsselungsschlüssel (CMEK) für ein Objekt verwendet wird, kann das Objekt optional denselben Schlüssel verwenden, wenn es in den Ziel-Bucket geschrieben wird.

Standardmäßig wird das Objekt mithilfe der Verschlüsselungsmethode des Buckets in den Ziel-Bucket geschrieben.

Beachten Sie beim Beibehalten des ursprünglichen CMEK die folgenden Einschränkungen:

Weitere Informationen finden Sie in der Referenzdokumentation zu metadataOptions.

Zeitstempel-Metadaten

timeCreated kann optional beibehalten werden. Der beibehaltene Wert wird im Feld customTime des übertragenen Objekts in Cloud Storage gespeichert. Weitere Informationen finden Sie in der Referenzdokumentation zu metadataOptions.

updated-Metadaten werden nicht beibehalten.

Andere nicht bearbeitbare Metadaten von Cloud Storage, z. B. etag und componentCount. Nicht beibehalten.

Eine Liste der Metadaten in Cloud Storage finden Sie unter Objekte.

URL-Listenübertragung an Cloud Storage

Weitere Informationen zu URL-Listen finden Sie unter URL-Liste erstellen.

Beispiel für Metadaten Aufbewahrungsverhalten
Felder für Metadaten mit festem Schlüssel wie Cache-Control, Content-Disposition und Content-Type. Als bearbeitbare Metadaten beibehalten.
Content-Length und MD5

Als nicht bearbeitbare Metadaten beibehalten.

Wenn die Quelle keinen MD5-Hashwert bereitstellt, behalten wir einen Wert nicht bei.

Dieses Aufbewahrungsverhalten gilt nur für Content-Length und MD5. Alle anderen nicht bearbeitbaren Metadaten, die nicht aufgeführt sind, bleiben nicht erhalten.

Zeitstempelmetadaten, z. B. Erstellungszeitpunkt, Änderungszeit und andere quellenspezifische Metadaten.

Nicht beibehalten.

Zeitstempelmetadaten aus der Quelle werden nicht beibehalten. Die Erstellungszeit timeCreated gibt die Zeit an, zu der ein Objekt in Cloud Storage erstellt wurde. Entsprechend gibt updated die Zeit an, zu der Metadaten für ein Objekt in Cloud Storage geändert wurden.

Speicherklasse

Es gibt mehrere Möglichkeiten, die Speicherklasse während einer Übertragung festzulegen.

  • Legen Sie für die Speicherklasse jedes Objekts die des Ziel-Buckets fest. Das ist das Standardverhalten.
  • Legen Sie für alle zu übertragenden Objekte eine bestimmte Speicherklasse fest.

Weitere Informationen finden Sie in der Referenzdokumentation zu metadataOptions.

POSIX-Dateisystemübertragungen

Wenn Sie Dateien aus POSIX-Dateisystemen übertragen, kann Storage Transfer Service optional bestimmte Attribute als benutzerdefinierte Metadaten beibehalten. Wenn diese Dateien später in ein Dateisystem zurückgeschrieben werden, kann Storage Transfer Service die beibehaltenen Metadaten zurück in POSIX-Attribute umwandeln.

Beispiel für Metadaten Aufbewahrungsverhalten
Änderungszeit (mtime)

Beibehalten.

mtime wird als benutzerdefinierte Metadaten mit dem Schlüssel goog-reserved-file-mtime beibehalten.

Dateigröße

Beibehalten.

Die Dateigröße wird als size beibehalten.

Numerische UID
Numerische GID
Numerischer MODUS
Symbolische Links

Optional.

Das Beibehaltungsverhalten wird mit dem Objekt metadataOptions angegeben. Weitere Informationen finden Sie unter Optionale POSIX-Metadaten beibehalten.

Standardmäßig werden keine Metadaten beibehalten.

Ordnermetadaten Metadaten auf Ordnerebene werden nur für Übertragungen zwischen Dateisystemen beibehalten. Die UID-, GID- und MODE-Beibehaltungseinstellungen der Übertragung gelten für Dateien und Ordner für diese Übertragungen.

mtime wird für Ordner nicht beibehalten. mtime ist auf den Erstellungszeitpunkt des Ordners im Zieldateisystem festgelegt.

Ordnermetadaten werden für Manifestübertragungen nicht beibehalten.

Speicherklasse

Es gibt mehrere Möglichkeiten, die Speicherklasse während einer Übertragung festzulegen.

  • Legen Sie für die Speicherklasse jedes Objekts die des Ziel-Buckets fest. Das ist das Standardverhalten.
  • Legen Sie für alle zu übertragenden Objekte eine bestimmte Speicherklasse fest.

Weitere Informationen finden Sie in der Referenzdokumentation zu metadataOptions.

Optionale POSIX-Metadaten beibehalten

Wenn Sie eine oder mehrere numerische UID, numerische GID, numerischen MODE und symbolische Links beibehalten möchten, geben Sie ein metadataOptions-Objekt im Text Ihres Übertragungsjobs an.

Diese Optionen gelten sowohl für POSIX-zu-Cloud Storage-Übertragungen als auch für Cloud Storage-zu-POSIX-Übertragungen. Bei Letzterem müssen die Metadaten beibehalten werden, als Dateien ursprünglich in Cloud Storage übertragen wurden.

{
  "description": "metadata-example",
  "projectId": "example-project-id"
  "transferSpec": {
    ...
    "transferOptions": {
      "metadataOptions": {
        "gid":     "GID_NUMBER",       # Default is "GID_SKIP"
        "uid":     "UID_NUMBER",       # Default is "UID_SKIP"
        "mode":    "MODE_PRESERVE",    # Default is "MODE_SKIP"
        "symlink": "SYMLINK_PRESERVE"  # Default is "SYMLINK_SKIP"
      }
    }
  }
}

POSIX zu Cloud Storage

Reservierte Metadaten werden in Cloud Storage als benutzerdefinierte Metadaten-Schlüssel/Wert-Paare gespeichert.

  • Numerische GID wird als goog-reserved-posix-gid gespeichert.
  • Numerische UID wird als goog-reserved-posix-uid gespeichert.
  • Numerischer MODE wird als goog-reserved-posix-mode gespeichert.

Bei symbolischen Links bewahrt Storage Transfer Service den Ziellink als Objekt in Cloud Storage mit den folgenden Eigenschaften auf:

  • Der Objektschlüssel besteht aus dem Zielpräfix plus dem Pfad zum symlink in Bezug auf root_directory.
  • Objektmetadaten:
    • Alle symlink-Metadaten werden als Cloud Storage-Objektmetadaten beibehalten.
    • Ein benutzerdefinierter Metadateneintrag wird vorgenommen: goog-reserved-file-is-symlink:true.
  • Der Objektinhalt ist das Ziel des symlink. Bei einem symlink sym-> dir1/target ist der Inhalt des Objekts beispielsweise „dir1/target“.

Storage Transfer Service validiert den Link nicht und kopiert nicht die Zieldatei.

Cloud Storage nach POSIX

Wenn Metadaten bei der Übertragung von Dateien in Cloud Storage beibehalten werden, können diese Metadaten bei der Übertragung zurück in ein POSIX-Dateisystem zurück in die Dateien geschrieben werden.

Wenn eine Metadatenoption zum Beibehalten eingestellt wurde, führt Storage Transfer Service die folgenden Aktionen aus:

  • Symbolische Links: Storage Transfer Service erstellt eine Symlink-Datei, die auf den Ziellink verweist. Wenn die Zieldatei nicht vorhanden ist, ist der Symlink fehlerhaft.
  • GID, UID und MODE: die in Cloud Storage-Metadaten gespeicherten Werte werden in die Datei zurückgeschrieben.

POSIX nach POSIX

Übertragungen zwischen Dateisystemen können optional GID, UID und MODE für Dateien und Ordner beibehalten.

Die Zeit der letzten Änderung wird für Dateien gespeichert, aber nicht für Ordner. mtime ist auf den Erstellungszeitpunkt des Ordners im Zieldateisystem festgelegt.

Storage Transfer Service speichert Ordnermetadaten, indem 0-Byte-Ordnerobjekte im Zwischen-Bucket erstellt und dann wieder in den Ordner im Zieldateisystem kopiert werden. Aus diesem Grund ist die Anzahl der im Zwischen-Bucket erstellten Objekte möglicherweise höher als die Anzahl der Dateien, die übertragen werden.