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 provenienti da Cloud Storage, Amazon S3 o Microsoft Azure Blob Storage vengono conservati.

  • I trasferimenti tra i 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 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 provenienti da file system POSIX. mtime non viene 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 i file system POSIX.

  • Solo per i trasferimenti tra file system, se UID, GID o MODE vengono conservati, anche i metadati delle cartelle vengono conservati. 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 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 il modo in cui Storage Transfer Service conserva i metadati di ciascuno. Per un elenco esaustivo dei metadati, consulta la documentazione del sistema di archiviazione di origine.

Amazon S3 o spazio di archiviazione compatibile con S3 a 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.

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

ETag Conservato come campo di metadati personalizzati con la chiave x-goog-source-etag, che puoi modificare o rimuovere in un secondo momento.
Dimensioni dell'oggetto. Conservato come size.
Elenchi di controllo dell'accesso (ACL) di Amazon S3. Per un elenco completo, consulta la sezione Chiavi di condizione della Panoramica dell'elenco di controllo dell'accesso (ACL). Non conservato.
Tag oggetto Amazon S3, definiti da te come coppie chiave-valore. Per ulteriori informazioni, vedi Tag oggetto. Non conservato.
Metadati definiti dal sistema Amazon S3, ad eccezione di ETag e delle dimensioni dell'oggetto. 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 creazione, timeCreated, riflette l'ora in cui un oggetto viene creato in Cloud Storage. Analogamente, updated riflette l'ora in cui i metadati di un oggetto vengono modificati in Cloud Storage.

Classe di archiviazione

Esistono più 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 trasferiti.

Per informazioni dettagliate, consulta la documentazione di riferimento 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, vedi Impostazioni e recupero di proprietà e metadati per le risorse del servizio Blob .

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

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

Non conservato.

I metadati del timestamp dell'origine non vengono conservati. Data/ora creazione, timeCreated, riflette l'ora in cui un oggetto viene creato in Cloud Storage. Analogamente, updated riflette l'ora in cui i metadati di un oggetto vengono modificati in Cloud Storage.

Classe di archiviazione

Esistono più 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 trasferiti.

Per informazioni dettagliate, consulta la documentazione di riferimento metadataOptions.

Trasferimenti tra bucket Cloud Storage

Esempio di metadati Comportamento di conservazione

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

Per maggiori informazioni, vedi Metadati dell'oggetto.

Conservati come metadati a chiave fissa.

Metadati definiti dall'utente di Cloud Storage, formattati come coppie chiave:valore. Per saperne di più, consulta Metadati personalizzati.

Conservato come campo di metadati personalizzati 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 personalizzati 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 predefinito basato su eventi, viene applicato un blocco basato su eventi agli oggetti trasferiti.

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

Elenchi di controllo di accesso (ACL)

Facoltativamente, possono essere mantenute. Per informazioni dettagliate, consulta la documentazione di riferimento metadataOptions.

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

Per ulteriori informazioni, consulta la documentazione Liste di controllo degli accessi di Cloud Storage.

Classe di archiviazione

Esistono più 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 per tutti gli oggetti trasferiti.

Per informazioni dettagliate, consulta la documentazione di riferimento metadataOptions.

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 scritto nel bucket di destinazione.

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

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

Per informazioni dettagliate, consulta la documentazione di riferimento metadataOptions.

Metadati del timestamp

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

I metadati updated non vengono conservati.

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

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, vedi Creazione di 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 conserviamo alcun valore.

Questo comportamento di conservazione è specifico per Content-Length e MD5. Qualsiasi altro metadato non modificabile non elencato non viene conservato.

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 creazione, timeCreated, riflette l'ora in cui un oggetto viene creato in Cloud Storage. Analogamente, updated riflette l'ora in cui i metadati di un oggetto vengono modificati in Cloud Storage.

Classe di archiviazione

Esistono più 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 trasferiti.

Per informazioni dettagliate, consulta la documentazione di riferimento metadataOptions.

Trasferimenti del file system POSIX

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

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

Conservato.

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

Dimensioni file

Conservato.

La dimensione del file viene mantenuta a size.

UID numerico
GID numerico
MODE numerico
Link simbolici

Facoltativo.

Il comportamento di conservazione è specificato con l'oggetto metadataOptions. Per i dettagli, consulta la sezione Conservazione dei 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 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 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 di manifest.

Classe di archiviazione

Esistono più 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 trasferiti.

Per informazioni dettagliate, consulta la documentazione di riferimento metadataOptions.

Conservare i metadati POSIX facoltativi

Per conservare uno o più UID numerici, GID numerici, MODE 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 questi ultimi, i metadati devono essere stati conservati durante il 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.

  • L'ID gruppo numerico viene memorizzato come goog-reserved-posix-gid.
  • L'UID numerico viene memorizzato come goog-reserved-posix-uid.
  • MODE numerico viene memorizzato 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 della destinazione più il percorso del link simbolico, relativo a root_directory.
  • Metadati degli oggetti:
    • I metadati dei link simbolici vengono conservati come metadati degli oggetti Cloud Storage.
    • Viene creata una voce di metadati personalizzati: goog-reserved-file-is-symlink:true.
  • Il contenuto dell'oggetto è la destinazione 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 né copia il file di destinazione.

Da Cloud Storage a POSIX

Se i metadati vengono conservati durante il trasferimento dei file in Cloud Storage, possono essere riscritti nei file quando vengono trasferiti di nuovo in un file system POSIX.

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

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

Da POSIX a POSIX

I trasferimenti tra 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 i metadati nella cartella del file system di destinazione. Per questo motivo, il numero di oggetti creati nel bucket intermedio potrebbe essere superiore al numero di file trasferiti.