Conservazione dei metadati

Questo documento descrive i metadati che vengono conservati quando si utilizza 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 bucket Cloud Storage possono facoltativamente conservare ACL di oggetti, chiavi di crittografia gestite dal cliente, classe di archiviazione, data di creazione degli oggetti (come valore di un campo customTime) e 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 come parte del trasferimento.

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

  • Facoltativamente, link simbolici, UID numerico, GID numerico e MODE 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, questi metadati vengono conservati anche 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 conservato.

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

I campi dei metadati non esplicitamente menzionati 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 da ciascuno. Per un elenco completo dei metadati, consulta la documentazione del sistema di archiviazione di origine.

Archiviazione compatibile con Amazon S3 o S3 in Cloud Storage

Esempio di metadati Comportamento di conservazione
Campi di metadati a chiave fissa Amazon S3, come: Cache-Control, Content-Disposition e Content-Type. Conservati come metadati a chiave fissa.
Metadati Amazon S3 definiti dall'utente, 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 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 dell'oggetto. Conservato come size.
Elenchi di controllo dell'accesso (ACL) di Amazon S3. Per un elenco completo, consulta la sezione Chiavi di condizione di Panoramica dell'elenco di controllo dell'accesso (ACL). Non conservato.
Tag di oggetti Amazon S3, definiti da te come coppie chiave-valore. Per maggiori informazioni, consulta Tag oggetto. Non conservato.
Metadati Amazon S3 definiti dal sistema, tranne ETag e le dimensioni dell'oggetto. Per un elenco completo, consulta la sezione Metadati degli oggetti definiti dal sistema di Chiave dell'oggetto e metadati.

Non conservato.

I metadati di timestamp dell'origine non vengono conservati. L'ora di creazione, timeCreated, riflette l'ora in cui un oggetto viene creato in Cloud Storage. Allo stesso modo, 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 ciascun oggetto su quella del bucket di destinazione. Questo è il comportamento standard.
  • Impostare una classe di archiviazione specifica per tutti gli oggetti da trasferire.

Per maggiori dettagli, consulta la documentazione di riferimento metadataOptions.

Da Microsoft Azure a Cloud Storage

Esempio di metadati Comportamento di conservazione
Campi di metadati a 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 Archiviazione 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 dell'oggetto. Conservato come size.
Autorizzazioni del file system POSIX supportate da Azure Data Lake Storage (ADLS) Gen 2. Non conservato.
Controllo dell'accesso Archiviazione di Microsoft Azure, in particolare x-ms-blob-public-access. Per ulteriori informazioni, consulta la sezione Intestazioni della risposta di Recuperare l'ACL dei container . Non conservato.
Tag di indice di Microsoft Azure Storage. Per maggiori informazioni, consulta Gestire e trovare i dati BLOB di Azure con tag di indice BLOB . Non conservato.
Metadati timestamp di Microsoft Azure Storage, come: Last-Modified, x-ms-creation-time, x-ms-version, x-ms-request-server-encrypted e x-ms-encryption-scope. Per maggiori informazioni, consulta la sezione Impostare i metadati BLOB .

Non conservato.

I metadati di timestamp dell'origine non vengono conservati. L'ora di creazione, timeCreated, riflette l'ora in cui un oggetto viene creato in Cloud Storage. Allo stesso modo, 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 ciascun oggetto su quella del bucket di destinazione. Questo è il comportamento standard.
  • Impostare una classe di archiviazione specifica per tutti gli oggetti da trasferire.

Per maggiori dettagli, consulta la documentazione di riferimento metadataOptions.

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 definiti dall'utente di Cloud Storage, 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 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 archiviazioni a fini legali 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. Per maggiori dettagli, consulta la documentazione di riferimento metadataOptions.

Quando proteggi gli ACL, presta 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 più opzioni per impostare la classe di archiviazione durante un trasferimento.

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

Per maggiori dettagli, 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ò utilizzare facoltativamente la stessa chiave quando viene scritta nel bucket di destinazione.

Il comportamento predefinito prevede 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 maggiori dettagli, consulta la documentazione di riferimento metadataOptions.

Metadati timestamp

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

I metadati updated non vengono conservati.

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

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

Trasferimento dell'elenco di URL in 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. Conservato come metadati modificabili.
Content-Length e MD5

Vengono conservati come metadati non modificabili.

Se l'origine non fornisce un valore hash MD5, non conserviamo un valore.

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

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

Non conservato.

I metadati di timestamp dell'origine non vengono conservati. L'ora di creazione, timeCreated, riflette l'ora in cui un oggetto viene creato in Cloud Storage. Allo stesso modo, 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 ciascun oggetto su quella del bucket di destinazione. Questo è il comportamento standard.
  • Impostare una classe di archiviazione specifica per tutti gli oggetti da trasferire.

Per maggiori dettagli, consulta la documentazione di riferimento metadataOptions.

Trasferimenti dei file system POSIX

Durante il trasferimento di file dai 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
Data/ora 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 come size.

UID numerico
GID numerico
MODALITÀ numerica
Link simbolici

Facoltativo.

Il comportamento di conservazione viene specificato con l'oggetto metadataOptions. Per i dettagli, consulta Conservare i 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 ai file e alle 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 della cartella non vengono conservati per i trasferimenti del file manifest.

Classe di archiviazione

Esistono più opzioni per impostare la classe di archiviazione durante un trasferimento.

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

Per maggiori dettagli, consulta la documentazione di riferimento metadataOptions.

Conservazione dei metadati POSIX facoltativi

Per mantenere uno o più UID numerici, GID numerici, MODALITÀ numeriche 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 che ai trasferimenti da Cloud Storage a POSIX. Nel secondo caso, i metadati devono essere stati conservati durante il trasferimento 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 dei metadati personalizzati.

  • Il GID numerico viene memorizzato come goog-reserved-posix-gid.
  • L'UID numerico viene memorizzato come goog-reserved-posix-uid.
  • La MODALITÀ numerica è 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 del collegamento simbolico, relativo a root_directory.
  • Metadati degli oggetti:
    • Tutti i metadati dei collegamenti 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 è il target del collegamento simbolico. Ad esempio, per un link simbolico sym-> dir1/target, il contenuto dell'oggetto è "dir1/target".

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

Da Cloud Storage a POSIX

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

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

  • Link simbolici: Storage Transfer Service crea un file di link simbolici 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 scritti 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 è impostata sull'ora di creazione della cartella nel file system di destinazione.

Storage Transfer Service salva i metadati della cartella creando oggetti cartella a 0 byte nel bucket intermedio e copiando 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.