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:

  • I metadati personalizzati creati dall'utente per i trasferimenti che hanno origine da Cloud Storage, Amazon S3 o Microsoft Azure Blob Storage vengono conservati.

  • I trasferimenti tra i bucket Cloud Storage possono facoltativamente preservare gli ACL degli oggetti, le chiavi di crittografia gestite dal cliente, la classe di archiviazione, la data di creazione dell'oggetto (come valore di un campo customTime) e le sospensioni temporanee.

  • 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 hanno origine da file system POSIX. mtime non viene conservato per le cartelle.

  • Se vuoi, puoi conservare i link simbolici, gli UID numerici, i GID numerici e il MODE numerico per i trasferimenti da e verso i file system POSIX.

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

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

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

Comportamento di conservazione dei metadati

Le sezioni seguenti elencano esempi di metadati di diversi sistemi di archiviazione di origine e descrivono in che modo Storage Transfer Service conserva i metadati di ciascuno. Per un elenco esaustivo dei metadati, consulta la documentazione del sistema di archiviazione di origine.

Spazio di archiviazione Amazon S3 o compatibile con S3 in Cloud Storage

Esempio di metadati Comportamento di conservazione
Campi dei metadati con chiave fissa di Amazon S3, ad esempio: 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 ulteriori informazioni, consulta la sezione Metadati degli oggetti definiti dall'utente di Chiave e metadati dell'oggetto.

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

ETag Viene conservato come campo dei metadati personalizzati con la chiave x-goog-source-etag, che puoi modificare in un secondo momento o rimuovere.
Dimensioni dell'oggetto. Conservato come size.
Elenchi di controllo dell'accesso (ACL) di Amazon S3. Per un elenco completo, consulta la sezione Chiavi condizione di Panoramica degli elenchi di controllo dell'accesso (ACL). Non conservata.
Tag degli oggetti Amazon S3, definiti da te come coppie chiave-valore. Per ulteriori informazioni, consulta Tag oggetto. Non conservata.
Metadati definiti dal sistema Amazon S3, ad eccezione di ETag e della dimensione dell'oggetto. Per un elenco completo, consulta la sezione Metadati degli oggetti definiti dal sistema di Chiave e metadati dell'oggetto.

Non conservata.

I metadati dei timestamp dell'origine non vengono conservati. La data/ora di creazione, timeCreated, riflette il momento in cui viene creato un oggetto in Cloud Storage. Analogamente, updated riflette il momento in cui i metadati di un oggetto vengono modificati in Cloud Storage.

Classe di archiviazione

Esistono 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.

Da Archiviazione di Microsoft Azure a Cloud Storage

Esempio di metadati Comportamento di conservazione
Campi dei metadati con chiave fissa di Microsoft Azure Storage, ad esempio: 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 ulteriori informazioni, consulta Configurazione e recupero di proprietà e metadati per le risorse del servizio Blob .

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

ETag Viene conservato come campo dei metadati personalizzati con la chiave x-goog-source-etag, che puoi modificare in un secondo momento o rimuovere.
Dimensioni dell'oggetto. Conservato come size.
Autorizzazioni del file system POSIX supportate da Azure Data Lake Storage Gen2. Non conservata.
Controllo dell'accesso di Microsoft Azure Storage, in particolare x-ms-blob-public-access. Per ulteriori informazioni, consulta la sezione Intestazioni di risposta di Get Container ACL . Non conservata.
Tag dell'indice di Microsoft Azure Storage. Per saperne di più, consulta Gestire e trovare i dati di Azure Blob con i tag di indice dei blob . Non conservata.
Metadati dei 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 ulteriori informazioni, consulta Impostare i metadati dei blob .

Non conservata.

I metadati dei timestamp dell'origine non vengono conservati. La data/ora di creazione, timeCreated, riflette il momento in cui viene creato un oggetto in Cloud Storage. Analogamente, updated riflette il momento in cui i metadati di un oggetto vengono modificati in Cloud Storage.

Classe di archiviazione

Esistono 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 a chiave fissa di Cloud Storage, ad esempio: Cache-Control, Content-Disposition e Content-Type.

Per ulteriori informazioni, consulta Metadati degli oggetti

Conservati come metadati a chiave fissa.

Metadati definiti dall'utente di Cloud Storage, formattati come coppie chiave:valore. Per ulteriori informazioni, consulta Metadati personalizzati.

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

Dimensioni dell'oggetto Conservato come size.
Generazione di oggetti Viene conservato come campo dei metadati personalizzati con la chiave x-goog-reserved-source-generation, che puoi modificare in un secondo momento o rimuovere.
Blocchi degli oggetti

I blocchi basati su eventi non vengono conservati. Se nel bucket di destinazione è attivata la proprietà di blocco basato su eventi predefinita, viene applicato un blocco basato su eventi agli oggetti trasferiti.

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

Elenchi di controllo di accesso (ACL)

Le ACL possono essere conservate facoltativamente. Per informazioni dettagliate, consulta la documentazione di riferimento di metadataOptions.

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

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

Classe di archiviazione

Esistono 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 in un oggetto viene utilizzata una chiave di crittografia gestita dal cliente (CMEK), l'oggetto può facoltativamente utilizzare la stessa chiave quando viene scritto nel bucket di destinazione.

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

Quando conservi il CMEK originale, tieni presente le seguenti limitazioni:

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

Metadati dei timestamp

timeCreated può essere conservato, se vuoi. 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 di updated non vengono conservati.

Altri metadati non modificabili di Cloud Storage, ad esempio etag e componentCount. Non conservata.

Per un elenco dei metadati in Cloud Storage, consulta Objects.

Trasferimento dell'elenco di URL in Cloud Storage

Per ulteriori informazioni sugli elenchi di URL, vedi Creare un elenco di URL.

Esempio di metadati Comportamento di conservazione
Campi dei metadati a chiave fissa, ad esempio: Cache-Control, Content-Disposition e Content-Type. Conservati come metadati modificabili.
Content-Length e MD5

Conservati come metadati non modificabili.

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

Questo comportamento di conservazione è specifico per Content-Length e MD5. Eventuali altri metadati non modificabili non elencati non vengono conservati.

Metadati dei timestamp, ad esempio: ora di creazione, ora di modifica e altri metadati specifici dell'origine.

Non conservata.

I metadati dei timestamp dell'origine non vengono conservati. La data/ora di creazione, timeCreated, riflette il momento in cui viene creato un oggetto in Cloud Storage. Analogamente, updated riflette il momento in cui i metadati di un oggetto vengono modificati in Cloud Storage.

Classe di archiviazione

Esistono 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 del file system POSIX

Quando trasferisci file da file system POSIX, Storage Transfer Service può facoltativamente conservare determinati attributi come metadati personalizzati. Se in un secondo momento questi file vengono nuovamente scritti in un file system, Storage Transfer Service può convertire nuovamente i metadati conservati in attributi POSIX.

Esempio di metadati Comportamento di conservazione
Data/ora di modifica (mtime)

Conservato.

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

Dimensioni file

Conservato.

Le dimensioni del file vengono conservate come size.

UID numerico
GID numerico
MODE numerico
Link simbolici

Facoltativo.

Il comportamento di conservazione viene specificato con l'oggetto metadataOptions. Per maggiori dettagli, consulta la sezione Preservare i metadati POSIX facoltativi.

Il comportamento predefinito è non conservare alcun metadato.

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

mtime non viene mantenuto per le cartelle. mtime è impostato 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

Esistono 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.

Preservare i metadati POSIX facoltativi

Per conservare uno o più valori numerici UID, GID e MODE e i 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. Per quest'ultimo, 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 coppie chiave:valore dei metadati personalizzati.

  • Il GID numerico viene archiviato come goog-reserved-posix-gid.
  • L'UID numerico viene memorizzato come goog-reserved-posix-uid.
  • Il valore MODE numerico viene archiviato 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 caratteristiche:

  • La chiave dell'oggetto è composta dal prefisso di destinazione più il percorso del link simbolico, relativo al root_directory.
  • Metadati degli oggetti:
    • Eventuali metadati del link simbolico vengono conservati come metadati degli oggetti Cloud Storage.
    • Viene creata una voce di metadati personalizzati: goog-reserved-file-is-symlink:true.
  • I contenuti dell'oggetto sono il target del link simbolico. Ad esempio, per un link simbolicosym-> dir1/target, il contenuto dell'oggetto è "dir1/target".

Storage Transfer Service non convalida il link né 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 nuovamente nei file quando vengono trasferiti di nuovo in un file system POSIX.

Se un'opzione di metadati è impostata su conservazione, Storage Transfer Service esegue le seguenti azioni:

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

Da POSIX a POSIX

I trasferimenti tra i file system possono facoltativamente conservare 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 nel file system di destinazione.

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