Metadati degli oggetti

Gestisci

Questa pagina illustra i campi di metadati di uso comune archiviati insieme agli oggetti in Cloud Storage.

Introduzione

Agli oggetti archiviati in Cloud Storage sono associati dei metadati. I metadati identificano le proprietà dell'oggetto e specificano come deve essere gestito l'oggetto quando vi si accede. I metadati esistono come coppie chiave:valore. Ad esempio, la classe di archiviazione di un oggetto è rappresentata dalla voce dei metadati storageClass:STANDARD. storageClass è la chiave per i metadati e a tutti gli oggetti è associata questa chiave. STANDARD specifica il valore di questo oggetto specifico e il valore varia in base all'oggetto.

La mutabilità dei metadati varia: alcuni metadati possono essere modificati in qualsiasi momento, alcuni metadati possono essere impostati solo al momento della creazione dell'oggetto e alcuni metadati possono essere solo visualizzati. Ad esempio, puoi modificare il valore dei metadati Cache-Control in qualsiasi momento, ma puoi assegnare i metadati storageClass solo quando l'oggetto viene creato o riscritto, e non puoi modificare direttamente il valore dei metadati generation, anche se il valore generation cambia quando l'oggetto viene sostituito.

Metadati modificabili

Esistono due categorie di metadati che gli utenti possono modificare per gli oggetti:

  • Metadati delle chiavi fisse: metadati le cui chiavi sono impostate, ma per i quali puoi specificare un valore.

  • Metadati personalizzati: i metadati che aggiungi specificando sia una chiave sia un valore associati alla chiave.

Durante la modifica dei metadati, dovresti generalmente evitare i caratteri non ASCII, in quanto non sono consentiti nelle intestazioni HTTP utilizzate dall'API XML.

Metadati a chiave fissa

Puoi modificare i seguenti metadati per gli oggetti, anche se devi disporre di un'autorizzazione sufficiente per farlo:

Metadati di controllo dell'accesso

Cloud Storage utilizza Identity and Access Management (IAM) ed elenchi di controllo dell'accesso (ACL) per controllare l'accesso agli oggetti. Utilizza questi link per scoprire di più su questi metodi di controllo dell'accesso#39;accesso e sui metadati associati.

Cache-Control

I metadati Cache-Control possono specificare due diversi aspetti del modo in cui i dati vengono forniti da Cloud Storage: se i dati possono essere memorizzati nella cache e se i dati possono essere trasformati.

Memorizzazione nella cache dei dati

I metadati Cache-Control ti consentono di controllare se e per quanto tempo le cache del browser e di internet possono memorizzare nella cache gli oggetti, che possono poi essere pubblicati per soddisfare le richieste future. La rete Cloud Storage prende in considerazione l'impostazione Cache-Control di un oggetto solo quando accede agli oggetti che:

Cloud Storage rispetta i valori standard per Cache-Control, come i seguenti:

  • public: l'oggetto può essere memorizzato nella cache ovunque.

  • private: l'oggetto può essere memorizzato nella cache locale di un richiedente.

  • no-cache: l'oggetto può essere memorizzato nella cache, ma non può essere utilizzato per soddisfare richieste future a meno che non venga prima convalidato da Cloud Storage.

  • no-store: l'oggetto non può essere memorizzato nella cache.

  • max-age=TIME_IN_SECONDS: per quanto tempo un oggetto può essere memorizzato nella cache prima di essere considerato inattivo. Puoi impostare max-age su qualsiasi intervallo di tempo. Gli oggetti inattivi non vengono pubblicati dalle cache, tranne in circostanze speciali.

Se un oggetto applicabile non dispone di una voce di metadati Cache-Control, Cloud Storage utilizza il valore predefinito di:

Se consenti la memorizzazione nella cache, i download potrebbero continuare a ricevere versioni precedenti di un oggetto, anche dopo aver caricato una versione più recente. Questo perché la versione precedente rimane "aggiornata" nella cache per un periodo di tempo determinato da max-age. Inoltre, poiché gli oggetti possono essere memorizzati nella cache in varie posizioni di Internet, non è possibile forzare la scadenza di un oggetto memorizzato nella cache a livello globale. Se vuoi impedire la pubblicazione di versioni memorizzate nella cache di oggetti leggibili pubblicamente, imposta Cache-Control: no-store sull'oggetto.

Per ulteriori informazioni sulla memorizzazione nella cache con Cloud Storage e Cloud CDN, consulta Memorizzazione nella cache.

Se hai bisogno di un maggiore controllo sul comportamento della cache, puoi configurare Cloud CDN prima del tuo bucket.

Trasformazione dei dati

I metadati Cache-Control ti consentono inoltre di gestire gli oggetti così come sono archiviati, senza applicare trasformazioni ai dati, come la rimozione della codifica dei contenuti gzip per i client non compatibili. Per pubblicare un oggetto così com'è, imposta Cache-Control:no-transform.

Content-Disposition

I metadati Content-Disposition specificano le informazioni di presentazione relative ai dati trasmessi. L'impostazione Content-Disposition consente di controllare lo stile di presentazione dei contenuti, ad esempio determinando se un allegato deve essere visualizzato automaticamente o se è necessario eseguire un'azione da parte dell'utente per aprirlo. Consulta la pagina https://datatracker.ietf.org/doc/html/rfc6266 per la specifica Content-Disposition.

Content-Encoding

I metadati Content-Encoding possono essere utilizzati per indicare che un oggetto è compresso, mantenendo al contempo il valore Content-Type sottostante dell'oggetto. Ad esempio, un file di testo compresso con gzip può avere il fatto che si tratta di un file di testo indicato in Content-Type e il fatto che sia compresso con gzip indicato in Content-Encoding. Devi assicurarti che i file siano effettivamente compressi utilizzando l'oggetto Content-Encoding specificato prima di caricarli, altrimenti potrebbero verificarsi comportamenti imprevisti quando tenti di scaricare gli oggetti. Per ulteriori informazioni, consulta la pagina Transcodifica.

Per i contenuti comprimibili, ad esempio il testo, l'utilizzo di Content-Encoding: gzip consente di risparmiare sui costi di rete e di archiviazione e migliorare le prestazioni di pubblicazione dei contenuti. Tuttavia, per i contenuti già intrinsecamente compressi, ad esempio archivi e molti formati multimediali, l'applicazione di un altro livello di compressione e il relativo contrassegno nei metadati Content-Encoding in genere è dannoso sia per le dimensioni che per le prestazioni dell'oggetto e deve essere evitato.

Content-Language

I metadati Content-Language indicano la lingua o le lingue a cui è destinato l'oggetto. Fai riferimento ai codici lingua ISO 639-1 per i valori tipici di questi metadati.

Cloud Storage supporta valori Content-Language con una lunghezza massima di 100 caratteri.

Content-Type

I metadati impostati più di frequente sono Content-Type (noto anche come tipo di media), che consente ai browser di visualizzare correttamente l'oggetto. Tutti gli oggetti hanno un valore specificato nei metadati Content-Type, ma questo valore non deve necessariamente corrispondere al tipo sottostante dell'oggetto. Ad esempio, se Content-Type non è specificato dall'utente che ha caricato il video e non può essere determinato, viene impostato su application/octet-stream o application/x-www-form-urlencoded, a seconda di come è stato caricato l'oggetto. Per un elenco dei tipi di contenuti validi, visita la pagina Tipi di media IANA.

Ora personalizzata

I metadati Custom-Time sono una data e un'ora specificate dall'utente nel formato RFC 3339 YYYY-MM-DD'T'HH:MM:SS.SS'Z' o YYYY-MM-DD'T'HH:MM:SS'Z' quando i millisecondi sono zero. Questi metadati vengono generalmente impostati per utilizzare la condizione DaysSinceCustomTime in Gestione del ciclo di vita degli oggetti.

Non puoi rimuovere Custom-Time dopo che è stato impostato su un oggetto. Inoltre, il valore di Custom-Time non può diminuire. Ciò significa che non puoi impostare Custom-Time in modo che sia precedente a quella di Custom-Time esistente. Tuttavia, puoi rimuovere o reimpostare in modo efficace Custom-Time riscrivendo l'oggetto.

Blocchi degli oggetti

Utilizza i flag dei metadati per applicare blocchi degli oggetti che impediscono l'eliminazione o la sostituzione degli oggetti. Per ulteriori informazioni, consulta la pagina Blocchi di oggetti.

Configurazione della conservazione

Se presente, la configurazione di conservazione di un oggetto definisce una data e un'ora precedenti alle quali l'oggetto non può essere eliminato o sostituito. Per ulteriori informazioni, consulta Blocco della conservazione degli oggetti.

Metadati personalizzati

I metadati personalizzati sono metadati per i quali definisci sia la chiave sia il valore. Per creare metadati personalizzati, devi specificare sia una chiave sia un valore. Dopo aver creato una coppia di metadati personalizzati key:value, puoi eliminare la chiave o modificarne il valore.

I metadati personalizzati sono soggetti a un limite di dimensioni e comportano costi di archiviazione.

La pagina Visualizzazione e modifica dei metadati include informazioni sull'impostazione dei metadati personalizzati.

Il prefisso x-goog-meta-

L'API XML imposta e recupera i metadati degli oggetti utilizzando le intestazioni delle richieste, mentre l'API JSON consente di impostare metadati personalizzati nella richiesta finale di un caricamento ripristinabile utilizzando le intestazioni delle richieste. Per distinguere chiaramente le intestazioni dei metadati personalizzate dalle intestazioni delle richieste standard, entrambe le API antepongono il prefisso x-goog-meta- a queste intestazioni.

Metadati non modificabili

Alcuni metadati non possono essere modificati direttamente. Questi metadati vengono impostati al momento della creazione o della riscrittura dell'oggetto. Nell'ambito della creazione o della riscrittura degli oggetti, puoi impostare alcuni metadati di questo tipo, ad esempio la classe di archiviazione dell'oggetto o le chiavi di crittografia gestite dal cliente. Altri metadati vengono aggiunti automaticamente e possono essere visualizzati solo, ad esempio il numero di generazione dell'oggetto o l'ora di creazione.

Numeri di generazione e metagenerazione

Come parte dei metadati, ogni oggetto Cloud Storage ha una proprietà generation numerica e una proprietà metageneration numerica che identifica in modo univoco l'oggetto:

Proprietà Descrizione
generation Identifica la versione di un oggetto ed esiste per ogni oggetto, a prescindere dal fatto che un bucket utilizzi il controllo delle versioni degli oggetti.
  • Il valore generation di una versione dell'oggetto non cambia mai. Un nuovo oggetto con lo stesso nome può sostituire un oggetto esistente, ma al nuovo oggetto è sempre assegnato un generation diverso.
  • Non c'è alcuna garanzia che i numeri di generazione aumentino per le versioni successive, ma solo che ogni nuova versione ha un numero di generazione univoco.
  • Non esiste una relazione tra i numeri di generazione di oggetti non correlati, anche se gli oggetti si trovano nello stesso bucket.
metageneration Identifica la versione dei metadati e aumenta ogni volta che i metadati di un determinato generation vengono aggiornati.
  • metageneration inizia a 1 per ogni nuovo generation di un oggetto.
  • La proprietà metageneration non ha significato senza la proprietà generation e deve essere utilizzata solo insieme a quest'ultima; non ha significato confrontare le generazioni di metadati di due versioni di oggetti.

Le proprietà generation e metageneration vengono utilizzate nelle seguenti circostanze:

Ora di modifica

Come parte dei metadati, ogni oggetto Cloud Storage ha una proprietà updated che indica l'ultima volta che i metadati dell'oggetto sono stati modificati. L'ora updated è impostata inizialmente sull'ora di creazione dell'oggetto e poi cambia ogni volta che i metadati dell'oggetto vengono modificati. Ciò include modifiche apportate da un richiedente, ad esempio la modifica di metadati personalizzati, nonché modifiche apportate da Cloud Storage per conto di un richiedente, ad esempio la modifica della classe di archiviazione in base a una configurazione del ciclo di vita dell'oggetto.

Passaggi successivi