Conservazione dei metadati

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

Panoramica

Storage Transfer Service conserva i seguenti metadati:

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

  • I trasferimenti tra bucket Cloud Storage possono facoltativamente conservare gli ACL degli oggetti, le chiavi di crittografia gestite dal cliente, la classe di archiviazione, l'ora di creazione degli oggetti (come valore di un campo customTime) e le archiviazioni a fini legali 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 durante il trasferimento.

  • Le dimensioni del file e l'ora dell'ultima modifica (mtime) vengono mantenute per i trasferimenti provenienti dai file system POSIX. L'elemento mtime non è conservato per le cartelle.

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

  • Solo per i trasferimenti tra file system, se vengono conservati UID, GID o MODE, i 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 dei metadati non menzionati esplicitamente in questo documento non vengono conservati.

Comportamento di conservazione dei metadati

Le seguenti sezioni elencano esempi di metadati provenienti da diversi sistemi di archiviazione di origine e in che modo 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 a chiave fissa di Amazon S3, come: Cache-Control, Content-Disposition e Content-Type. Conservati come metadati a chiave fissa.
Metadati di Amazon S3 definiti dall'utente, formattati come coppie chiave-valore. Per maggiori informazioni, consulta la sezione Metadati degli oggetti definiti dall'utente di Chiave e metadati dell'oggetto.

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

ETag Conservato come campo di metadati personalizzato con la chiave x-goog-source-etag, che puoi modificare o rimuovere in un secondo momento.
Dimensioni degli oggetti. Conservato come size.
Elenchi di controllo dell'accesso (ACL) di Amazon S3. Per un elenco completo, consulta la sezione Chiavi delle condizioni della Panoramica dell'elenco di controllo dell'accesso (ACL). Non preservata.
Tag oggetto Amazon S3, definiti da te come coppie chiave-valore. Per maggiori informazioni, consulta Tag oggetto. Non preservata.
Metadati di Amazon S3 definiti dal sistema, tranne ETag e le dimensioni degli oggetti. Per un elenco completo, consulta la sezione Metadati degli oggetti definiti dal sistema di Metadati dell'oggetto e chiave dell'oggetto.

Non preservata.

I metadati timestamp dell'origine non vengono conservati. L'ora di creazione, timeCreated, riflette l'ora di creazione di un oggetto in Cloud Storage. Analogamente, updated riflette il tempo in cui i metadati di 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 per tutti gli oggetti da trasferire.

Consulta la documentazione di riferimento di metadataOptions per i dettagli.

Da Microsoft Azure a Cloud Storage

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

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

ETag Conservato come campo di metadati personalizzato con la chiave x-goog-source-etag, che puoi modificare o rimuovere in un secondo momento.
Dimensioni degli oggetti. Conservato come size.
Autorizzazioni del file system POSIX supportate da Azure Data Lake Storage (ADLS) Gen 2. Non preservata.
Controllo dell'accesso Archiviazione di Microsoft Azure, in particolare x-ms-blob-public-access. Per maggiori informazioni, consulta la sezione Intestazioni delle risposte di Ottieni ACL del container . Non preservata.
Tag di indice di Archiviazione di Microsoft Azure. Per maggiori informazioni, consulta Gestire e trovare i dati di Azure Blob con i tag di indice blob . Non preservata.
Metadati timestamp di Archiviazione di Microsoft Azure, 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 Impostare i metadati BLOB .

Non preservata.

I metadati timestamp dell'origine non vengono conservati. L'ora di creazione, timeCreated, riflette l'ora di creazione di un oggetto in Cloud Storage. Analogamente, updated riflette il tempo in cui i metadati di 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 per tutti gli oggetti da trasferire.

Consulta la documentazione di riferimento di metadataOptions per i dettagli.

Trasferimenti tra bucket Cloud Storage

Esempio di metadati Comportamento di conservazione

Campi di metadati a chiave fissa di Cloud Storage, come: Cache-Control, Content-Disposition e Content-Type.

Per maggiori informazioni, consulta Metadati degli oggetti

Conservati come metadati a chiave fissa.

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

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

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

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

Le sospensioni temporanee vengono mantenute per impostazione predefinita. Per annullare l'archiviazione a fini legali temporanei durante il trasferimento, imposta il campo temporaryHold dell'oggetto metadataOptions su TEMPORARY_HOLD_SKIP.

Elenchi di controllo di accesso (ACL)

Facoltativamente, gli ACL possono essere conservati. Consulta la documentazione di riferimento di metadataOptions per i dettagli.

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

Per maggiori informazioni, consulta la documentazione relativa agli elenchi di controllo degli accessi 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.
  • Conserva la classe di archiviazione dell'oggetto di origine.
  • Imposta una classe di archiviazione specifica per tutti gli oggetti da trasferire.

Consulta la documentazione di riferimento di metadataOptions per i dettagli.

Chiave di crittografia gestita dal cliente

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

Il comportamento predefinito prevede la scrittura dell'oggetto nel bucket di destinazione utilizzando il metodo di crittografia del bucket.

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

Consulta la documentazione di riferimento di metadataOptions per i dettagli.

Metadati timestamp

timeCreated può essere facoltativamente conservato. Il valore conservato viene archiviato nel campo customTime dell'oggetto trasferito in Cloud Storage. Consulta la documentazione di riferimento di metadataOptions per i dettagli.

I metadati updated non vengono conservati.

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

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

Trasferimento dell'elenco di URL a Cloud Storage

Per ulteriori informazioni sugli elenchi di URL, consulta la sezione Creazione di un elenco di URL.

Esempio di metadati Comportamento di conservazione
Campi di metadati a chiave fissa, come: 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 ne conserviamo uno.

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

Metadati timestamp, come ora di creazione, ora della modifica e altri metadati specifici della sorgente.

Non preservata.

I metadati timestamp dell'origine non vengono conservati. L'ora di creazione, timeCreated, riflette l'ora di creazione di un oggetto in Cloud Storage. Analogamente, updated riflette il tempo in cui i metadati di 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 per tutti gli oggetti da trasferire.

Consulta la documentazione di riferimento di metadataOptions per i dettagli.

Trasferimenti del file system POSIX

Durante il trasferimento di file da file system POSIX, Storage Transfer Service può facoltativamente conservare determinati attributi come metadati personalizzati. Se questi file vengono successivamente riscritti in un file system, Storage Transfer Service può convertire i metadati conservati in attributi POSIX.

Esempio di metadati Comportamento di conservazione
Ora della modifica (mtime)

Conservata.

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

Dimensioni file

Conservata.

La dimensione del file viene mantenuta come size.

UID numerico
GID numerico
MODALITÀ numerica
Link simbolici

Facoltativo.

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

Il comportamento predefinito è non conservare i metadati.

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

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

I metadati della cartella non vengono conservati per i trasferimenti di 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 per tutti gli oggetti da trasferire.

Consulta la documentazione di riferimento di metadataOptions per i dettagli.

Conservazione dei metadati POSIX facoltativi

Per mantenere uno o più UID numerici, GID numerici, MODALITÀ numerici 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. Per quest'ultimo, i metadati devono essere stati conservati al momento del trasferimento iniziale dei file 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 di metadati personalizzati.

  • Il GID numerico è archiviato come goog-reserved-posix-gid.
  • L'UID numerico è archiviato come goog-reserved-posix-uid.
  • Il valore numerico MODE è memorizzato come goog-reserved-posix-mode.

Per i collegamenti 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 più il percorso del link simbolico, relativo a 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 è il target del link simbolico. Ad esempio, per un link simbolico sym-> dir1/target, il contenuto dell'oggetto è "dir1/target".

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

Da Cloud Storage a POSIX

Se i metadati vengono conservati quando i file vengono trasferiti a Cloud Storage, possono essere riscritti nei file quando vengono trasferiti nuovamente a un file system POSIX.

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

  • Link simbolici: Storage Transfer Service crea un file di link simbolici che rimanda al link di destinazione. Se il file di destinazione non esiste, il link simbolico viene danneggiato.
  • GID, UID e MODE: i valori archiviati 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 a 0 byte nel bucket intermedio, quindi copiandoli nella cartella del file system di destinazione. Per questo motivo, il numero di oggetti creati nel bucket intermedio può essere maggiore del numero di file da trasferire.