Conservazione dei metadati

Questo documento descrive i metadati che vengono conservati quando utilizzi Storage Transfer Service per trasferire dati tra varie origini e destinazioni.

Panoramica

Storage Transfer Service conserva i seguenti metadati:

  • Vengono conservati i metadati personalizzati creati dall'utente per i trasferimenti che provengono da Cloud Storage, Amazon S3 o Archiviazione BLOB di Microsoft Azure.

  • I trasferimenti tra bucket Cloud Storage consentono facoltativamente di conservare gli ACL degli oggetti, le chiavi di crittografia gestite dal cliente, la classe di archiviazione, il tempo di creazione degli oggetti (come valore di un campo customTime) e i blocchi temporanei.

  • Per i trasferimenti da qualsiasi origine a un bucket Cloud Storage, la classe di archiviazione dell'oggetto nel bucket di destinazione può essere impostata su qualsiasi classe supportata nell'ambito del trasferimento.

  • Le dimensioni del file e l'ora dell'ultima modifica (mtime) vengono conservate per i trasferimenti che provengono da file system POSIX. mtime non viene conservato per le cartelle.

  • Facoltativamente, i link simbolici, l'UID numerico, il GID numerico e la MODE numerica possono essere conservati per i trasferimenti da e verso i file system POSIX.

  • Per i trasferimenti tra file system, se vengono conservati UID, GID o MODE, questi metadati vengono conservati anche per le cartelle. Cloud Storage ricrea le cartelle nel file system di destinazione e ripristina UID, GID e/o MODE. Sono incluse le cartelle vuote. mtime non viene conservato.

    I metadati a livello di cartella non vengono conservati se il trasferimento avviene tramite manifest.

I campi di metadati non esplicitamente menzionati in questo documento non vengono conservati.

Comportamento di conservazione dei metadati

Le seguenti sezioni elencano gli esempi di metadati provenienti da diversi sistemi di archiviazione di origine e il modo in cui Storage Transfer Service conserva i metadati di ciascuno. Per un elenco completo dei metadati, consulta la documentazione del sistema di archiviazione di origine.

Da Amazon S3 a Cloud Storage

Esempio di metadati Comportamento di conservazione
Campi di metadati chiave Amazon Amazon S3, tra cui: Cache-Control, Content-Disposition e Content-Type. Conservati come metadati a chiave fissa.
Metadati definiti dall'utente di Amazon S3, formattati come coppie chiave-valore. Per maggiori informazioni, consulta la sezione Metadati degli oggetti definiti dall'utente di Chiave dell'oggetto e metadati.

Conservato come campo di metadati personalizzato negli oggetti Cloud Storage di destinazione, che puoi modificare in un secondo momento o rimuovere.

ETag Conservato come campo di metadati personalizzato con la chiave x-goog-source-etag, che puoi modificare in un secondo momento o rimuovere.
Dimensioni degli oggetti. Conservato come size.
Elenchi di controllo dell'accesso (ACL) Amazon S3. Per un elenco completo, consulta la sezione sulle chiavi condizione della panoramica dell'elenco di controllo di accesso (ACL). Non conservato.
Tag oggetto Amazon S3, definiti da te come coppie chiave-valore. Per scoprire di più, consulta la sezione Tag oggetti. Non conservato.
Metadati definiti dal sistema Amazon S3, ad eccezione di ETag e dimensioni degli oggetti. Per un elenco completo, consulta la sezione Metadati degli oggetti definiti dal sistema di Chiave e metadati degli oggetti.

Non conservato.

I metadati del timestamp dell'origine non vengono conservati. Data/ora di creazione, timeCreated: riflette il momento della creazione di un oggetto in Cloud Storage. Analogamente, updated riflette il momento in cui i metadati per un oggetto vengono modificati in Cloud Storage.

Classe di archiviazione

Sono disponibili diverse opzioni per impostare la classe di archiviazione durante un trasferimento.

  • Imposta la classe di archiviazione di ogni oggetto su quella del bucket di destinazione. Questo è il comportamento standard.
  • Imposta una classe di archiviazione specifica su tutti gli oggetti da trasferire.

Per informazioni dettagliate, consulta la documentazione di riferimento di metadataOptions.

Archiviazione da Microsoft Azure a Cloud Storage

Esempio di metadati Comportamento di conservazione
Campi dei metadati chiave fissa di Microsoft Azure Storage, come: Cache-Control, Content-Disposition e Content-Type. Conservati come metadati a chiave fissa.
Metadati definiti dall'utente di Microsoft Azure Storage, formattati come coppie chiave-valore. Per maggiori informazioni, consulta la pagina Impostazioni e recupero di proprietà e metadati per le risorse dei servizi Blob .

Conservato come campo di metadati personalizzato negli oggetti Cloud Storage di destinazione, che puoi modificare in un secondo momento o rimuovere.

ETag Conservato come campo di metadati personalizzato con la chiave x-goog-source-etag, che puoi modificare in un secondo momento o rimuovere.
Dimensioni degli oggetti. Conservato come size.
Autorizzazioni del file system POSIX supportate da Azure Data Lake Storage (ADLS) Gen 2. Non conservato.
Controllo dell'accesso spazio di archiviazione di Microsoft Azure, in particolare x-ms-blob-public-access. Per maggiori informazioni, consulta la sezione relativa alle intestazioni delle risposte di Get ACL di container . Non conservato.
Tag di indice Microsoft Azure Storage. Per maggiori informazioni, consulta Gestire e trovare i dati BLOB di Azure con i tag di indice blob . Non conservato.
Metadati del timestamp di Microsoft Azure Storage, ad esempio: Last-Modified, x-ms-creation-time, x-ms-version, x-ms-request-server-encrypted e x-ms-encryption-scope. Per maggiori informazioni, consulta la pagina Impostare i metadati del blob .

Non conservato.

I metadati del timestamp dell'origine non vengono conservati. Data/ora di creazione, timeCreated: riflette il momento della creazione di un oggetto in Cloud Storage. Analogamente, updated riflette il momento in cui i metadati per un oggetto vengono modificati in Cloud Storage.

Classe di archiviazione

Sono disponibili diverse opzioni per impostare la classe di archiviazione durante un trasferimento.

  • Imposta la classe di archiviazione di ogni oggetto su quella del bucket di destinazione. Questo è il comportamento standard.
  • Imposta una classe di archiviazione specifica su tutti gli oggetti da trasferire.

Per informazioni dettagliate, consulta la documentazione di riferimento di metadataOptions.

Trasferimenti tra bucket Cloud Storage

Esempio di metadati Comportamento di conservazione

Campi dei metadati chiave fissa di Cloud Storage, ad esempio: Cache-Control, Content-Disposition e Content-Type.

Per maggiori informazioni, consulta la pagina Metadati degli oggetti

Conservati come metadati a chiave fissa.

Metadati definiti dall'utente di Cloud Storage, formattati come coppie chiave-valore. Per maggiori informazioni, consulta la pagina Metadati personalizzati.

Conservato come campo di metadati personalizzato negli oggetti Cloud Storage di destinazione, che puoi modificare in un secondo momento o rimuovere.

Dimensioni degli oggetti Conservato come size.
Generazione di oggetti Conservato come campo di metadati personalizzato con la chiave x-goog-reserved-source-generation, che puoi modificare in un secondo momento o rimuovere.
Blocchi degli oggetti

Le conservazioni basate sugli eventi non vengono mantenute. Se nel bucket di destinazione è abilitata la proprietà di blocco predefinita basata su eventi, agli oggetti trasferiti viene applicato un blocco basato su eventi.

Le conservazioni temporanee vengono conservate per impostazione predefinita. Per ignorare le conservazioni temporanee durante il trasferimento, imposta il campo temporaryHold dell'oggetto metadataOptions su TEMPORARY_HOLD_SKIP.

Elenchi di controllo di accesso (ACL)

Gli ACL possono essere conservati facoltativamente. Per informazioni dettagliate, consulta la documentazione di riferimento di metadataOptions.

Quando mantieni gli ACL, fai attenzione a evitare di creare oggetti inaccessibili.

Per maggiori informazioni, consulta la documentazione relativa agli elenchi di controllo dell'accesso di Cloud Storage.

Classe di archiviazione

Sono disponibili diverse opzioni per impostare la classe di archiviazione durante un trasferimento.

  • Imposta la classe di archiviazione di ogni oggetto su quella del bucket di destinazione. Questo è il comportamento standard.
  • Mantieni la classe di archiviazione dell'oggetto di origine.
  • Imposta una classe di archiviazione specifica su tutti gli oggetti da trasferire.

Per informazioni dettagliate, consulta la documentazione di riferimento di metadataOptions.

Chiave di crittografia gestita dal cliente

Se viene utilizzata una chiave di crittografia gestita dal cliente (CMEK) su un oggetto, quest'ultimo può facoltativamente utilizzare la stessa chiave quando viene scritta nel bucket di destinazione.

Il comportamento predefinito è di scrivere l'oggetto nel bucket di destinazione utilizzando il metodo di crittografia del bucket.

Quando mantieni la CMEK originale, tieni presente le seguenti limitazioni:

Per informazioni dettagliate, consulta la documentazione di riferimento di metadataOptions.

Metadati timestamp

timeCreated può essere conservato. Il valore conservato viene archiviato nel campo customTime dell'oggetto trasferito in Cloud Storage. Per informazioni dettagliate, consulta la documentazione di riferimento di metadataOptions.

I metadati updated non vengono conservati.

Altri metadati non modificabili di Cloud Storage, come etag e componentCount. Non conservato.

Per un elenco di metadati in Cloud Storage, consulta Oggetti.

Trasferimento elenco URL a Cloud Storage

Per scoprire di più sugli elenchi di URL, consulta la pagina Creare un elenco di URL.

Esempio di metadati Comportamento di conservazione
Campi dei metadati con chiavi fisse, ad esempio: Cache-Control, Content-Disposition e Content-Type. Conservato come metadati modificabili.
Content-Length e MD5

Conservati come metadati non modificabili.

Se l'origine non fornisce un valore hash MD5, questo non viene conservato.

Questo comportamento di conservazione è specifico per Content-Length e MD5. Tutti gli altri metadati non modificabili non elencati non verranno conservati.

I metadati del timestamp, ad esempio ora di creazione, ora di modifica e altri metadati specifici dell'origine.

Non conservato.

I metadati del timestamp dell'origine non vengono conservati. Data/ora di creazione, timeCreated: riflette il momento della creazione di un oggetto in Cloud Storage. Analogamente, updated riflette il momento in cui i metadati per un oggetto vengono modificati in Cloud Storage.

Classe di archiviazione

Sono disponibili diverse opzioni per impostare la classe di archiviazione durante un trasferimento.

  • Imposta la classe di archiviazione di ogni oggetto su quella del bucket di destinazione. Questo è il comportamento standard.
  • Imposta una classe di archiviazione specifica su tutti gli oggetti da trasferire.

Per informazioni dettagliate, consulta la documentazione di riferimento di metadataOptions.

Trasferimenti di file system POSIX

Quando trasferisci file da file system POSIX, Storage Transfer Service può facoltativamente mantenere determinati attributi come metadati personalizzati. Se questi file vengono scritti di nuovo su un file system, Storage Transfer Service può convertire i metadati conservati in attributi POSIX.

Esempio di metadati Comportamento di conservazione
Ora modificata (mtime)

Conservata.

mtime viene conservato come metadati personalizzato con la chiave goog-reserved-file-mtime.

Dimensioni file

Conservata.

Le dimensioni del file vengono conservate come size.

UID numerico
GID numerico
MODALITÀ numerica
Link simbolici

Campo facoltativo.

Il comportamento di conservazione viene specificato con l'oggetto metadataOptions. Per maggiori dettagli, consulta Conservazione dei metadati POSIX facoltativi.

Il comportamento predefinito prevede di non conservare i metadati.

Metadati della cartella I metadati a livello di cartella vengono conservati solo per i trasferimenti tra file system. Le impostazioni di conservazione di UID, GID e MODE del trasferimento si applicano a file e cartelle per questi trasferimenti.

mtime non viene conservato per le cartelle. mtime è impostata sull'ora di creazione della cartella nel file system di destinazione.

I metadati delle cartelle non vengono conservati per i trasferimenti manifest.

Classe di archiviazione

Sono disponibili diverse opzioni per impostare la classe di archiviazione durante un trasferimento.

  • Imposta la classe di archiviazione di ogni oggetto su quella del bucket di destinazione. Questo è il comportamento standard.
  • Imposta una classe di archiviazione specifica su tutti gli oggetti da trasferire.

Per informazioni dettagliate, consulta la documentazione di riferimento di metadataOptions.

Conservazione dei metadati POSIX facoltativi

Per conservare uno o più UID numerici, GID numerici, MODE numerico e link simbolici, specifica un oggetto metadataOptions nel corpo del job di trasferimento.

Queste opzioni si applicano sia ai trasferimenti da POSIX a Cloud Storage sia ai trasferimenti da Cloud Storage a POSIX. Nel secondo caso, i metadati devono essere stati conservati quando i file sono stati inizialmente trasferiti in Cloud Storage.

{
  "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"
      }
    }
  }
}

Da POSIX a Cloud Storage

I metadati conservati vengono archiviati in Cloud Storage come metadati chiave-coppie personalizzati di metadati.valore.

  • Il GID numerico è memorizzato come goog-reserved-posix-gid.
  • L'UID numerico è memorizzato come goog-reserved-posix-uid.
  • La MODALITÀ numerica viene memorizzata come goog-reserved-posix-mode.

Per i link simbolici, Storage Transfer Service conserva il link di destinazione come oggetto in Cloud Storage con le seguenti qualità:

  • La chiave dell'oggetto è composta dal prefisso di destinazione e dal percorso al link simbolico, relativo al parametro root_directory.
  • Metadati degli oggetti:
    • Tutti i metadati dei link simbolici vengono conservati come metadati degli oggetti Cloud Storage.
    • È stata creata una voce di metadati personalizzata: goog-reserved-file-is-symlink:true.
  • Il contenuto dell'oggetto è la destinazione del collegamento simbolico. Ad esempio, per un symlink sym-> dir1/target, il contenuto dell'oggetto è "dir1/target".

Storage Transfer Service non convalida il collegamento o copia il file di destinazione.

Da Cloud Storage a POSIX

Se i metadati vengono conservati quando i file vengono trasferiti in Cloud Storage, questi possono essere scritti di nuovo sui file quando vengono trasferiti di nuovo in un file system POSIX.

Se è impostata l'opzione di metadati per la conservazione, Storage Transfer Service intraprende le seguenti azioni:

  • Link simbolici: Storage Transfer Service crea un file simbolico che rimanda al link di destinazione. Se il file di destinazione non esiste, il collegamento simbolico verrà danneggiato.
  • GID, UID e MODE: i valori archiviati nei metadati di Cloud Storage vengono scritti di nuovo nel file.

Da POSIX a POSIX

I trasferimenti tra file system possono facoltativamente preservare GID, UID e MODE per file e cartelle.

L'ora dell'ultima modifica viene salvata per i file, ma non per le cartelle. mtime è impostato sull'ora di creazione della cartella sul file system di destinazione.

Storage Transfer Service salva i metadati delle cartelle creando oggetti cartella a 0 byte nel bucket intermedio, quindi copiandoli nuovamente nella cartella nel file system di destinazione. Per questo motivo, il numero di oggetti creati nel bucket intermedio potrebbe essere maggiore del numero di file trasferiti.