Metadati dell'oggetto

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 metadati. I metadati identificano le proprietà dell'oggetto e specificano come gestirlo quando vi si accede. I metadati esistono come coppie chiave:valore. Ad esempio, la classe di archiviazione di un oggetto è rappresentata dalla voce di metadati storageClass:STANDARD. storageClass è la chiave per i metadati e a tutti gli oggetti è associata una chiave di questo tipo. STANDARD specifica il valore dell'oggetto specifico e varia da oggetto ad oggetto.

La mutabilità dei metadati varia: alcuni metadati possono essere modificati in qualsiasi momento, alcuni metadati che puoi impostare solo al momento della creazione dell'oggetto e alcuni metadati che puoi solo visualizzare. 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. Inoltre, non puoi modificare direttamente il valore per i 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 a chiave fissa: metadati per i quali sono impostate le chiavi, ma per i quali puoi specificare un valore.

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

Quando modifichi i metadati, in genere dovresti evitare caratteri non ASCII, perché non sono consentiti nelle intestazioni HTTP utilizzate dall'API XML.

Metadati a chiave fissa

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

Metadati di controllo dell'accesso

Cloud Storage utilizza Identity and Access Management (IAM) e gli 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 aspetti diversi 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 i tuoi oggetti, che possono poi essere pubblicati per soddisfare 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 del richiedente.

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

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

  • max-age=TIME_IN_SECONDS: il periodo di tempo durante il quale un oggetto può essere memorizzato nella cache prima che venga considerato inattivo. Puoi impostare max-age su qualsiasi intervallo di tempo. Gli oggetti inattivi non vengono pubblicati dalle cache, se non in circostanze speciali.

Se un oggetto applicabile non ha 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 su internet, non c'è modo di forzare la scadenza globale di un oggetto memorizzato nella cache. 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 davanti al tuo bucket.

Trasformazione dei dati

Inoltre, i metadati Cache-Control ti consentono di pubblicare oggetti man mano che vengono archiviati, senza applicare alcuna trasformazione ai dati, come la rimozione della codifica dei contenuti gzip per 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 dei dati trasmessi. L'impostazione di Content-Disposition consente di controllare lo stile di presentazione dei contenuti, ad esempio determinando se un allegato deve essere visualizzato automaticamente o se è necessario un qualche tipo di 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 comunque 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 vengano effettivamente compressi utilizzando il valore Content-Encoding specificato prima di caricarli, altrimenti potrebbe verificarsi un comportamento imprevisto durante il tentativo di scaricare gli oggetti. Per ulteriori informazioni, consulta la pagina Transcodifica.

Per i contenuti comprimibili, come il testo, l'utilizzo di Content-Encoding: gzip consente di ridurre i costi di rete e di archiviazione e migliorare le prestazioni di distribuzione dei contenuti. Tuttavia, per i contenuti già intrinsecamente compressi, come archivi e molti formati multimediali, l'applicazione di un altro livello di compressione e la marcatura nei metadati Content-Encoding in genere pregiudica sia le dimensioni che le prestazioni dell'oggetto ed è pertanto da evitare.

Content-Language

I metadati Content-Language indicano 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 di massimo 100 caratteri.

Content-Type

Il metadato più comunemente impostato è Content-Type (noto anche come tipo multimediale), 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 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 hai caricato l'oggetto. Per un elenco dei tipi di contenuti validi, consulta la pagina Tipi di media IANA.

Ora personalizzata

I metadati Custom-Time sono la data e l'ora specificate dall'utente, rappresentate 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 in genere impostati per utilizzare la condizione DaysSinceCustomTime in Gestione del ciclo di vita degli oggetti.

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

Blocchi degli oggetti

Utilizza i flag di 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 della conservazione di un oggetto definisce una data e un'ora precedenti le 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 modificare 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 da quelle delle richieste standard, entrambe le API antepongono il prefisso x-goog-meta- a queste intestazioni di metadati personalizzate.

Metadati non modificabili

Alcuni metadati non possono essere modificati direttamente. Questi metadati vengono impostati al momento della creazione o della riscrittura dell'oggetto. Durante la creazione o la riscrittura dell'oggetto, 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, come il numero di generazione dell'oggetto o l'ora di creazione.

Numeri di generazione e metagenerazione

Ogni oggetto Cloud Storage include 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 tutti gli oggetti, 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 alcuna 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 alle ore 1 per ogni nuovo generation di un oggetto.
  • La proprietà metageneration non ha significato senza la proprietà generation e deve essere utilizzata solo insieme alla proprietà; non ha senso confrontare le generazioni di metadati di due versioni dell'oggetto.

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

Ora di modifica

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

Passaggi successivi